]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/ActivePyModules: expose 'mds_metadata' to modules
authorSage Weil <sage@redhat.com>
Wed, 23 Oct 2019 17:43:45 +0000 (12:43 -0500)
committerSage Weil <sage@redhat.com>
Mon, 28 Oct 2019 15:42:22 +0000 (10:42 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mgr/ActivePyModules.cc

index 637821564218b5e34af1abddaf4c4774975a52dd..27dbe175ee287ed2c50ca3893ed019bd5be7259c 100644 (file)
@@ -240,6 +240,20 @@ PyObject *ActivePyModules::get_python(const std::string &what)
     auto dmc = daemon_state.get_by_service("osd");
     PyEval_RestoreThread(tstate);
 
+    for (const auto &[key, state] : dmc) {
+      std::lock_guard l(state->lock);
+      f.open_object_section(key.name.c_str());
+      f.dump_string("hostname", state->hostname);
+      for (const auto &[name, val] : state->metadata) {
+        f.dump_string(name.c_str(), val);
+      }
+      f.close_section();
+    }
+    return f.get();
+  } else if (what == "mds_metadata") {
+    auto dmc = daemon_state.get_by_service("mds");
+    PyEval_RestoreThread(tstate);
+
     for (const auto &[key, state] : dmc) {
       std::lock_guard l(state->lock);
       f.open_object_section(key.name.c_str());