From a7c3290b65fe526e2c62a5d3c10addaf4d2726f9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 3 Dec 2018 16:34:34 -0600 Subject: [PATCH] mon/OSDMonitor: include host, container info for 'osd find' command Signed-off-by: Sage Weil --- src/mon/OSDMonitor.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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) -- 2.47.3