From: Sage Weil Date: Tue, 8 Jan 2019 19:36:18 +0000 (-0600) Subject: ceph-mon: make mkfs check whether I am in monmap more robust X-Git-Tag: v14.1.0~420^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5b020479ba889c3fcd38e337ad02377ae3dd2792;p=ceph.git ceph-mon: make mkfs check whether I am in monmap more robust If we have a local address, check for both v1 and v2 variants in the monmap. Signed-off-by: Sage Weil --- diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc index e47cf22cc8c6..ac6380dcbce8 100644 --- a/src/ceph_mon.cc +++ b/src/ceph_mon.cc @@ -398,19 +398,29 @@ int main(int argc, const char **argv) // is a local address listed without a name? if so, name myself. list ls; monmap.list_addrs(ls); - entity_addr_t local; + dout(0) << " monmap addrs are " << ls << ", checking if any are local" + << dendl; + entity_addr_t local; if (have_local_addr(g_ceph_context, ls, &local)) { string name; - monmap.get_addr_name(local, name); - + local.set_type(entity_addr_t::TYPE_MSGR2); + if (!monmap.get_addr_name(local, name)) { + local.set_type(entity_addr_t::TYPE_LEGACY); + if (!monmap.get_addr_name(local, name)) { + dout(0) << "no local addresses appear in bootstrap monmap" + << dendl; + } + } if (name.compare(0, 7, "noname-") == 0) { dout(0) << argv[0] << ": mon." << name << " " << local - << " is local, renaming to mon." << g_conf()->name.get_id() << dendl; + << " is local, renaming to mon." << g_conf()->name.get_id() + << dendl; monmap.rename(name, g_conf()->name.get_id()); - } else { + } else if (name.size()) { dout(0) << argv[0] << ": mon." << name << " " << local - << " is local, but not 'noname-' + something; not assuming it's me" << dendl; + << " is local, but not 'noname-' + something; " + << "not assuming it's me" << dendl; } } }