]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/PyModuleRegistry: add details for MGR_MODULE_{DEPENDENCY,ERROR}
authorSage Weil <sage@redhat.com>
Thu, 31 Jan 2019 23:51:36 +0000 (17:51 -0600)
committerSage Weil <sage@redhat.com>
Thu, 7 Feb 2019 18:10:34 +0000 (12:10 -0600)
We want to know what modules failed and why.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mgr/PyModuleRegistry.cc

index d0b3c87e5b46723b0d2567140e4011c26d7e9c8b..785b5d3ab45191aa9a4a4d0125da418044e26d9e 100644 (file)
@@ -382,21 +382,31 @@ void PyModuleRegistry::get_health_checks(health_check_map_t *checks)
         ss << "Module '" << iter->first << "' has failed dependency: "
            << iter->second;
       } else if (dependency_modules.size() > 1) {
-        ss << dependency_modules.size() << " ceph-mgr modules have failed dependencies";
+        ss << dependency_modules.size()
+          << " mgr modules have failed dependencies";
+      }
+      auto& d = checks->add("MGR_MODULE_DEPENDENCY", HEALTH_WARN, ss.str());
+      for (auto& i : dependency_modules) {
+       std::ostringstream ss;
+        ss << "Module '" << i.first << "' has failed dependency: " << i.second;
+       d.detail.push_back(ss.str());
       }
-      checks->add("MGR_MODULE_DEPENDENCY", HEALTH_WARN, ss.str());
     }
 
     if (!failed_modules.empty()) {
       std::ostringstream ss;
       if (failed_modules.size() == 1) {
         auto iter = failed_modules.begin();
-        ss << "Module '" << iter->first << "' has failed: "
-           << iter->second;
+        ss << "Module '" << iter->first << "' has failed: " << iter->second;
       } else if (failed_modules.size() > 1) {
-        ss << failed_modules.size() << " modules have failed";
+        ss << failed_modules.size() << " mgr modules have failed";
+      }
+      auto& d = checks->add("MGR_MODULE_ERROR", HEALTH_ERR, ss.str());
+      for (auto& i : failed_modules) {
+       std::ostringstream ss;
+        ss << "Module '" << i.first << "' has failed: " << i.second;
+       d.detail.push_back(ss.str());
       }
-      checks->add("MGR_MODULE_ERROR", HEALTH_ERR, ss.str());
     }
   }
 }