Fill in noname- entires in initial generate monmap (e.g., from mon_host)
with real peer names as we discover them.
This will make the upcoming initial quorum config check work by letting us
identify peers by name.
Signed-off-by: Sage Weil <sage@inktank.com>
assert(n < rank_name.size());
return rank_name[n];
}
+ string get_name(entity_addr_t a) const {
+ map<entity_addr_t,string>::const_iterator p = addr_name.find(a);
+ if (p == addr_name.end())
+ return string();
+ else
+ return p->second;
+ }
int get_rank(const string& n) {
for (unsigned i=0; i<rank_name.size(); i++)
return;
}
+ // rename peer?
+ string peer_name = monmap->get_name(m->get_source_addr());
+ if (peer_name.find("noname-") == 0) {
+ dout(10) << " renaming peer " << m->get_source_addr() << " "
+ << peer_name << " -> " << m->name << " in my monmap"
+ << dendl;
+ monmap->rename(peer_name, m->name);
+ }
+
// is there an existing quorum?
if (m->quorum.size()) {
dout(10) << " existing quorum " << m->quorum << dendl;