From: David Zafman Date: Thu, 27 Aug 2020 17:54:15 +0000 (+0000) Subject: mon: Add mds version collector X-Git-Tag: v16.1.0~634^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c2a3a2270d86a43c3c4fecf5bbb85b53d3007877;p=ceph.git mon: Add mds version collector Signed-off-by: David Zafman --- diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index a57e63a5a3d5..2e8d112ffe48 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -1876,6 +1876,20 @@ void MDSMonitor::count_metadata(const std::string &field, Formatter *f) f->close_section(); } +void MDSMonitor::get_versions(std::map > &versions) +{ + map meta; + load_metadata(meta); + const auto &fsmap = get_fsmap(); + std::map map = fsmap.get_mds_info(); + dout(10) << __func__ << " mds meta=" << meta << dendl; + for (auto& p : meta) { + auto q = p.second.find("ceph_version_short"); + if (q == p.second.end()) continue; + versions[q->second].push_back(string("mds.") + map[p.first].name); + } +} + int MDSMonitor::dump_metadata(const FSMap& fsmap, const std::string &who, Formatter *f, ostream& err) { diff --git a/src/mon/MDSMonitor.h b/src/mon/MDSMonitor.h index 45be5106672d..f84744e0c73a 100644 --- a/src/mon/MDSMonitor.h +++ b/src/mon/MDSMonitor.h @@ -127,6 +127,7 @@ class MDSMonitor : public PaxosService, public PaxosFSMap, protected CommandHand void count_metadata(const std::string& field, ceph::Formatter *f); public: void count_metadata(const std::string& field, std::map *out); + void get_versions(std::map > &versions); protected: // MDS daemon GID to latest health state from that GID diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 8a4273ad3578..279d786a60ce 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -5367,6 +5367,8 @@ void Monitor::get_all_versions(std::map > &versions) osdmon()->get_versions(versions); // mgr mgrmon()->get_versions(versions); + // mds + mdsmon()->get_versions(versions); dout(20) << __func__ << " all versions=" << versions << dendl; }