Commit Graph

94804 Commits

Author SHA1 Message Date
Jason Dillaman
79a10192e8 rbd: removed migration source annotation from parent info
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-12 10:43:14 -05:00
Jason Dillaman
cb18eb2f63 librbd: get_parent API method should properly handle migrating image
The true parent of a migrating parent is actually the parent of the
migration source image. There are other API methods available to
retreive the details of the migration source.

Fixes: http://tracker.ceph.com/issues/37998
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-11 09:42:33 -05:00
Lenz Grimmer
35d17efabe
Merge pull request #26360 from rhcs-dashboard/wip-38254-master
doc: mgr/orch: Fix remote_host doc reference

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
2019-02-11 14:16:59 +01:00
Ernesto Puerta
ec949ab71d
doc: mgr/orch: Fix remote_host doc reference
The type fix in the remote_host to remove_host has caused a Ceph docs
build failure.

Introduced-By: 05cfa6f
Fixes: http://tracker.ceph.com/issues/38254
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2019-02-11 12:55:47 +01:00
Nathan Cutler
8ea24dd9aa
Merge pull request #26268 from smithfarm/wip-opensuse-s390
rpm: do not exclude s390x build on openSUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-02-11 12:53:09 +01:00
Lenz Grimmer
3fb2d72601
Merge pull request #26115 from ricardoasmarques/iscsi-discovery-auth-api
mgr/dashboard: iSCSI discovery authentication API

Reviewed-by: Tiago Melo <tmelo@suse.com>
2019-02-11 10:50:14 +01:00
Sebastian Wagner
ad7abc3995
Merge pull request #26314 from sebastian-philipp/orchestrator-host-mon-mgr
mgr/orchestrator: Add host mon mgr management to interface

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
2019-02-11 09:52:53 +01:00
Sage Weil
b4fa47390d Merge PR #25977 into master
* refs/pull/25977/head:
	qa/suites: exclude new packages when installing old versions
	rpm: add dependency on python-kubernetes module to ceph-mgr-rook package
	rpm,deb: add rbd_support module to ceph-mgr
	packaging: split ceph-mgr diskprediction and rook plugins into own packages

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-09 13:46:51 -06:00
Sage Weil
33582d2290 Merge PR #26327 into master
* refs/pull/26327/head:
	doc/dev/msgr2: bring up to date with new HELLO, different RECONNECT
	msg/async/ProtocolV2: separate IDENT into {CLIENT,SERVER}_IDENT

Reviewed-by: Ricardo Dias <rdias@suse.com>
2019-02-09 08:29:18 -06:00
Kefu Chai
ed98a198a4
Merge pull request #25082 from rzarzynski/wip-bl-less-atomic
common: optimize reference counting in bufferlist

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-02-09 21:32:23 +08:00
Patrick Donnelly
f9854b522f
Merge PR #26287 into master
* refs/pull/26287/head:
	doc: update doc on new recall config

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2019-02-08 19:38:37 -08:00
Sage Weil
d431821fb4 Merge PR #26248 into master
* refs/pull/26248/head:
	systemd: lock down privileges more

Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-08 14:42:10 -06:00
Sage Weil
5cbdf32430 qa/suites: exclude new packages when installing old versions
Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-08 12:59:22 -06:00
Sage Weil
97cf0c5145 Merge PR #26335 into master
* refs/pull/26335/head:
	ceph-osd: fix warning

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-02-08 12:51:57 -06:00
Jeff Layton
dc13683c1a rpm: add dependency on python-kubernetes module to ceph-mgr-rook package
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-02-08 12:03:15 -05:00
David Zafman
3ee2579ec8
Merge pull request #26330 from dzafman/wip-fixstats
test: osd-backfill-stats.sh Fix check of multi backfill OSDs, skip re…

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-02-08 08:41:29 -08:00
Sage Weil
88b87c042d rpm,deb: add rbd_support module to ceph-mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-08 08:29:45 -06:00
Sage Weil
bf52bcd219 ceph-osd: fix warning
/home/sage/src/ceph/src/ceph_osd.cc: In function ‘int main(int, const char**)’:
/home/sage/src/ceph/src/ceph_osd.cc:478:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
       require_osd_release + 2 < ceph_release()) {
       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-08 07:16:07 -06:00
Ricardo Marques
6f3471648d mgr/dashboard: iSCSI discovery authentication API
Fixes: https://tracker.ceph.com/issues/38017

Signed-off-by: Ricardo Marques <rimarques@suse.com>
2019-02-08 12:13:39 +00:00
Sebastian Wagner
dfe95eef11
Merge pull request #26317 from jtlayton/wip-jlayton-orch
mgr/orchestrator: Fix up rook osd create dispatcher

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-02-08 10:58:46 +01:00
Sebastian Wagner
0daae004f0
Merge pull request #26331 from tchaikov/wip-mgr-orchestrator-docstring
doc/mgr/orchestrator: Add Architecture Image

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-02-08 09:33:05 +01:00
Kefu Chai
8b144a1a5f
Merge pull request #26301 from tchaikov/wip-cxx17-aggre-init
changes to address FTBFS on fc30

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2019-02-08 16:09:11 +08:00
Kefu Chai
92a7a3f6f7
Merge pull request #26311 from tchaikov/wip-docker-fc-29
tests: update Dockerfile to support fc-29

Reviewed-By: Neha Ojha <nojha@redhat.com>
2019-02-08 14:37:51 +08:00
Kefu Chai
dec885c651 mgr/orchestrator: reformat the docstring
we need to add an empty line before the param and return lines.

so it renders better with sphinx's `automethod::` directive.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-08 14:33:00 +08:00
Kefu Chai
00989aa0a3
Merge pull request #26313 from tchaikov/wip-mgr-ansible-tox
mgr/ansible: add install tox==2.9.1

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-02-08 13:12:25 +08:00
David Zafman
910a95b9c8 test: osd-backfill-stats.sh Fix check of multi backfill OSDs, skip remapped test
Signed-off-by: David Zafman <dzafman@redhat.com>
2019-02-07 20:05:58 -08:00
David Zafman
690ff9a21f
Merge pull request #26213 from dzafman/wip-38041
osd: Fix recovery and backfill priority handling

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-02-07 17:26:34 -08:00
David Zafman
ca5cf14fa8 test: Add scripts to test backfill/recovery priority handling
Signed-off-by: David Zafman <dzafman@redhat.com>
2019-02-07 15:46:23 -08:00
David Zafman
d088ffb09f osd: Add OSD_BACKFILL_PRIORITY_FORCED with lower priority
than OSD_RECOVERY_PRIORITY_FORCED

Signed-off-by: David Zafman <dzafman@redhat.com>
2019-02-07 15:46:23 -08:00
David Zafman
11097f1235 osd AsyncReserver: Update priority in AsyncReserver for force and cancel-force
Fixes: http://tracker.ceph.com/issues/38041

Signed-off-by: David Zafman <dzafman@redhat.com>
2019-02-07 15:46:23 -08:00
Sage Weil
2e9c61de49 doc/dev/msgr2: bring up to date with new HELLO, different RECONNECT
Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 17:05:10 -06:00
Sage Weil
86c99bf023 msg/async/ProtocolV2: separate IDENT into {CLIENT,SERVER}_IDENT
This is less ambiguous and easier to document since the frame payloads
are different.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 17:05:10 -06:00
Sage Weil
d3766916a7 Merge PR #26059 into master
* refs/pull/26059/head:
	mon/MonClient: fix keepalive with v2 auth
	msg/async/ProtocolV2: reject peer_addrs of -
	msg/async/ProtocolV2: clean up feature management
	mon/MonClient: set up rotating_secrets, etc before msgr ready
	msg/async: let client specify preferred order of modes
	msg/async/ProtocolV2: include entity_name, features in reconnect
	msg/async/ProtocolV2: fix write_lock usage around AckFrame
	qa/suites/rados/verify/validator/valgrind: debug refs = 5
	qa/standalone/ceph-helpers: fix health_ok test
	auth/AuthRegistry: only complain about disabling cephx if cephx was enabled
	auth/AuthRegistry: fix locking for get_supported_methods()
	auth: remove AUTH_UNKNOWN weirdness, hardcoded defaults.
	msg/async/ProtocolV2: remove unused get_auth_allowed_methods
	osd: set up messener auth_* before setting dispatcher (and going 'ready')
	mon/AuthMonitor: request max_global_id increase from peon in tick
	mon: prime MgrClient only after messengers are initialized
	qa/suites/rados/workloads/rados_api_tests.yaml: debug mgrc = 20 on mon
	auth: document Auth{Client,Server} interfaces
	auth: future-proof AUTH_MODE_* a bit in case we need to change the encoding byte
	mon/MonClient: request monmap on open instead of ping
	mgr/PyModuleRegistry: add details for MGR_MODULE_{DEPENDENCY,ERROR}
	crimson: fix build
	mon/MonClient: finsih authenticate() only after we get monmap; fix 'tell mgr'
	mon: add auth_lock to protect auth_meta manipulation
	ceph-mon: set up auth before binding
	mon: defer initial connection auth attempts until initial quorum is formed
	mon/MonClient: make MonClientPinger an AuthCleint
	ceph_test_msgr: use DummyAuth
	auth/DummyAuth: dummy auth server and client for test code
	mon/Monitor: fix leak of auth_handler if we error out
	doc/dev/cephx: re-wordwrap
	doc/dev/cephx: document nautilus change to cephx
	vstart.sh: fix --msgr2 option
	msg/async/ProtocolV2: use shared_ptr to manage auth_meta
	auth/Auth{Client,Server}: pass auth_meta in explicitly
	mon/MonClient: behave if authorizer can't be built (yet)
	osd: set_auth_server on client_messenger
	common/ceph_context: get_moduel_type() for seastar cct
	auth: make connection_secret a std::string
	auth,msg/async/ProtocolV2: negotiate connection modes
	auth/AuthRegistry: refactor handling of auth_*_requred options
	osd,mgr,mds: remove unused authorize registries
	switch monc, daemons to use new msgr2 auth frame exchange
	doc/dev/msgr2: update docs to match implementation for auth frames
	auth/AuthClientHandler: add build_initial_request hook
	msg/Messenger: attach auth_client and/or auth_server to each Messenger
	auth: introduce AuthClient and AuthServer handlers
	auth: codify AUTH_MODE_AUTHORIZER
	msg/Connection: track peer_id (id portion of entity_name_t) for msgr2
	auth/AuthAuthorizeHandler: add get_supported_methods()
	auth/AuthAuthorizeHandler: fix args for verify_authorizer()
	auth: constify bufferlist arg to AuthAuthorizer::add_challenge()
	auth/cephx: share all tickets and connection_secret in initial reply
	msg/async,auth: add AuthConnectionMeta to Protocol
	auth/AuthClientHandler: pass in session_key, connection_secret pointers
	auth/AuthServiceHandler: take session_key and connection_secret as args
	auth/cephx: pass more specific type into build_session_auth_info
	mon/Session: separate session creation, peer ident, and registration
	mon/AuthMonitor: bump max_global_id from on_active() and tick()
	mon/AuthMonitor: be more careful with max_global_id
	mon: only all ms_handle_authentication() if auth method says we're done
	mon/AuthMonitor: fix "finished with auth" condition check
	auth: clean up AuthServiceHandler::handle_request() args
	auth: clean up AuthServiceHandler::start_session()
	mon/AuthMonitor: drop unused op arg to assign_global_id()
	msg/async: separate TAG_AUTH_REQUEST_MORE and TAG_AUTH_REPLY_MORE
	msg/async: consolidate authorizer checks
	msg/async: move get_auth_allowed into ProtocolV2.cc
	mon/MonClient: trivial cleanup

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2019-02-07 16:51:39 -06:00
Sage Weil
372b7aed8a mon/MonClient: fix keepalive with v2 auth
The old trick of queuing a keepalive sequenced before auth does not work
when auth happens earlier in the process.  Work around it.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:28:20 -06:00
Sage Weil
43b8a77ca4 msg/async/ProtocolV2: reject peer_addrs of -
This shouldn't happen and isn't valid.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
8fe78da5ea msg/async/ProtocolV2: clean up feature management
- check features on reconnect
- preserve features when connections are replaced
- require MSG_ADDR2 across the board

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
fea314ea3b mon/MonClient: set up rotating_secrets, etc before msgr ready
We need to have rotating_secrets non-null before we can accept
connections or else we will segfault in handle_auth_request.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
eaba5696fd msg/async: let client specify preferred order of modes
The server side has an allowed list, while the client has an ordered list
in order of preference.

Note that some of the options are used as both (e.g., cluster_modes) as they
are used at both connecting and accepting ends of the connection.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
91a888ecb4 msg/async/ProtocolV2: include entity_name, features in reconnect
- A connects to B
- A sends client_ident
- fault before A gets server_ident, so A doesn't know B's features or name
- B reconnects to A
- connection established

A thinks B is unknown.0 and has not idea what the featurs are.

Fix this by including id and featurs in reconnect.  We don't know the type, but that is
included in TAG_HELLO in another branch, which will be merged separately; add a

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
5d84f11934 msg/async/ProtocolV2: fix write_lock usage around AckFrame
If we are calling _try_send or touching outcoming_bl we must be holding
write_lock.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
65e81e6eb4 qa/suites/rados/verify/validator/valgrind: debug refs = 5
If we detect a leak, let's include logging so we can find it.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
dcdca44aa4 qa/standalone/ceph-helpers: fix health_ok test
Stopping the osd daemon won't reliably get you HEALTH_WARN or ERR; you have
to make sure it is also marked down.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
eb4af28be4 auth/AuthRegistry: only complain about disabling cephx if cephx was enabled
This gets rid of some warnings when auth_supported=none.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
7ba8ee2e04 auth/AuthRegistry: fix locking for get_supported_methods()
The other read-side accessors all consume this method and don't
need their own locking.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
028f1af996 auth: remove AUTH_UNKNOWN weirdness, hardcoded defaults.
This is what the old code does so I kept it but I don't think it makes any sense.
Same with the defaults; let's just set the config option to something valid.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
ecf41b1a3c msg/async/ProtocolV2: remove unused get_auth_allowed_methods
Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
fa44155acc osd: set up messener auth_* before setting dispatcher (and going 'ready')
The messenger doesn't activate until you set the dispatcher.  Set up the auth_client
and auth_server values before that.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
524f26d7a9 mon/AuthMonitor: request max_global_id increase from peon in tick
For authv2, we only increase max_global_id from tick, not via prep_auth(), so we
need to ask the leader for more IDs here as we do there.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
869d43d982 mon: prime MgrClient only after messengers are initialized
If we do it earlier we may crash due to an uninitialised messenger
auth_client.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00
Sage Weil
ee59743a1a qa/suites/rados/workloads/rados_api_tests.yaml: debug mgrc = 20 on mon
Seeing some hangs when the mon is forwarding mgr commands (pg deep-scrub)
to the mgr.  This is a buggy test (it should send it to the mgr directly)
but it is helpful to verify the mon forwarding behavior works.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-07 12:10:34 -06:00