]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/osd: fix boot process
authorKefu Chai <kchai@redhat.com>
Tue, 29 Jan 2019 11:20:05 +0000 (19:20 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 29 Jan 2019 12:04:54 +0000 (20:04 +0800)
* send my client addresses to mon
* always update osdmap with the latest one

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/osd/osd.cc

index 71eee16173c3f734f759dc4f68b1788b685c1868..b69ba4d5522e3bcb26646ac62f21a9d6d9f5f996 100644 (file)
@@ -185,7 +185,7 @@ seastar::future<> OSD::_send_boot()
 
   entity_addrvec_t hb_back_addrs;
   entity_addrvec_t hb_front_addrs;
-  entity_addrvec_t cluster_addrs;
+  entity_addrvec_t cluster_addrs = cluster_msgr->get_myaddrs();
 
   auto m = make_message<MOSDBoot>(superblock,
                                   osdmap->get_epoch(),
@@ -450,6 +450,7 @@ seastar::future<> OSD::committed_osd_maps(version_t first,
   return seastar::parallel_for_each(boost::irange(first, last + 1),
                                     [this](epoch_t cur) {
     return get_map(cur).then([this](seastar::lw_shared_ptr<OSDMap> o) {
+      osdmap = o;
       if (up_epoch != 0 &&
           osdmap->is_up(whoami) &&
           osdmap->get_addrs(whoami) == client_msgr->get_myaddrs()) {