From fea314ea3b98730fd2316755a1cd8646fdfcc4eb Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 5 Feb 2019 22:26:52 -0600 Subject: [PATCH] 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 --- src/mon/MonClient.cc | 6 +++--- src/osd/OSD.cc | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/mon/MonClient.cc b/src/mon/MonClient.cc index 1ca1cedca3c5c..8b8faece8cf3b 100644 --- a/src/mon/MonClient.cc +++ b/src/mon/MonClient.cc @@ -441,9 +441,6 @@ int MonClient::init() { ldout(cct, 10) << __func__ << dendl; - messenger->add_dispatcher_head(this); - messenger->set_auth_client(this); - entity_name = cct->_conf->name; auth_registry.refresh_config(); @@ -469,6 +466,9 @@ int MonClient::init() initialized = true; + messenger->set_auth_client(this); + messenger->add_dispatcher_head(this); + timer.init(); finisher.start(); schedule_tick(); diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 2bfc251ca9717..0c49d4507173d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -3024,17 +3024,6 @@ 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(); @@ -3050,12 +3039,23 @@ int OSD::init() get_perf_reports(reports); }); mgrc.init(); - client_messenger->add_dispatcher_head(&mgrc); // tell monc about log_client so it will know about mon session resets monc->set_log_client(&log_client); update_log_config(); + // i'm ready! + client_messenger->add_dispatcher_tail(&mgrc); + client_messenger->add_dispatcher_tail(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); + service.init(); service.publish_map(osdmap); service.publish_superblock(superblock); -- 2.39.5