From: Sage Weil Date: Mon, 4 Feb 2019 09:28:06 +0000 (-0600) Subject: osd: set up messener auth_* before setting dispatcher (and going 'ready') X-Git-Tag: v14.1.0~183^2~13 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fa44155accf2525180bad3c648c07bb055890d7d;p=ceph.git 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 --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 720f599bd55..2bfc251ca97 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -3007,23 +3007,6 @@ int OSD::init() service.set_statfs(stbuf, alerts); } - // i'm ready! - client_messenger->add_dispatcher_head(this); - cluster_messenger->add_dispatcher_head(this); - - hb_front_client_messenger->add_dispatcher_head(&heartbeat_dispatcher); - hb_back_client_messenger->add_dispatcher_head(&heartbeat_dispatcher); - hb_front_server_messenger->add_dispatcher_head(&heartbeat_dispatcher); - hb_back_server_messenger->add_dispatcher_head(&heartbeat_dispatcher); - - objecter_messenger->add_dispatcher_head(service.objecter); - - monc->set_want_keys(CEPH_ENTITY_TYPE_MON | CEPH_ENTITY_TYPE_OSD - | CEPH_ENTITY_TYPE_MGR); - r = monc->init(); - if (r < 0) - goto out; - // client_messenger auth_client is already set up by monc. for (auto m : { cluster_messenger, objecter_messenger, @@ -3041,6 +3024,23 @@ int OSD::init() } monc->set_handle_authentication_dispatcher(this); + // i'm ready! + client_messenger->add_dispatcher_head(this); + cluster_messenger->add_dispatcher_head(this); + + hb_front_client_messenger->add_dispatcher_head(&heartbeat_dispatcher); + hb_back_client_messenger->add_dispatcher_head(&heartbeat_dispatcher); + hb_front_server_messenger->add_dispatcher_head(&heartbeat_dispatcher); + hb_back_server_messenger->add_dispatcher_head(&heartbeat_dispatcher); + + objecter_messenger->add_dispatcher_head(service.objecter); + + monc->set_want_keys(CEPH_ENTITY_TYPE_MON | CEPH_ENTITY_TYPE_OSD + | CEPH_ENTITY_TYPE_MGR); + r = monc->init(); + if (r < 0) + goto out; + mgrc.set_pgstats_cb([this](){ return collect_pg_stats(); }); mgrc.set_perf_metric_query_cb( [this](const std::map &queries) {