From: Sage Weil Date: Mon, 3 Dec 2018 22:34:34 +0000 (-0600) Subject: mon/OSDMonitor: include host, container info for 'osd find' command X-Git-Tag: v14.1.0~707^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F25382%2Fhead;p=ceph.git mon/OSDMonitor: include host, container info for 'osd find' command Signed-off-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index c38d03324a6e..5992e3743450 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -4766,6 +4766,23 @@ bool OSDMonitor::preprocess_command(MonOpRequestRef op) f->open_object_section("osd_location"); f->dump_int("osd", osd); f->dump_object("addrs", osdmap.get_addrs(osd)); + + // try to identify host, pod/container name, etc. + map m; + load_metadata(osd, m, nullptr); + if (auto p = m.find("hostname"); p != m.end()) { + f->dump_string("host", p->second); + } + for (auto& k : { + "pod_name", "pod_namespace", // set by rook + "container_name" // set by ceph-ansible + }) { + if (auto p = m.find(k); p != m.end()) { + f->dump_string(k, p->second); + } + } + + // crush is helpful too f->open_object_section("crush_location"); map loc = osdmap.crush->get_full_location(osd); for (map::iterator p = loc.begin(); p != loc.end(); ++p)