]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: modify crush type down health warnings
authorNeha Ojha <nojha@redhat.com>
Mon, 8 May 2017 23:18:13 +0000 (16:18 -0700)
committerNeha Ojha <nojha@redhat.com>
Mon, 8 May 2017 23:18:13 +0000 (16:18 -0700)
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/mon/OSDMonitor.cc

index 95cf2ea68736c00aeb9586f3def1bf3cd7b4671b..a2a9a9c5a638c0f059592d5dd4b13484e89592a1 100644 (file)
@@ -3490,9 +3490,10 @@ void OSDMonitor::get_health(list<pair<health_status_t,string> >& summary,
        if (detail) {
          const osd_info_t& info = osdmap.get_info(i);
          ostringstream ss;
-         ss << "osd." << i << " belonging to " << osdmap.crush->get_item_name(subtree_id)
-            << " is down since epoch " << info.down_at << ", last address " <<
-               osdmap.get_addr(i);
+         map<string, string> loc;
+         loc = osdmap.crush->get_full_location(i);
+         ss << "osd." << i << loc << " is down since epoch " << info.down_at << ", last address "
+            << osdmap.get_addr(i);
          detail->push_back(make_pair(HEALTH_WARN, ss.str()));
        }
       } else {
@@ -3514,25 +3515,21 @@ void OSDMonitor::get_health(list<pair<health_status_t,string> >& summary,
     assert(num_down_in_subtrees <= num_in_subtrees);
     if (num_down_in_osds > 0) {
       ostringstream ss;
-      ss << num_down_in_osds << "/" << num_in_osds << " in osds are down.";
+      ss << num_down_in_osds << "/" << num_in_osds << " in osds are down";
       summary.push_back(make_pair(HEALTH_WARN, ss.str()));
       if (num_down_in_subtrees > 0) {
        ostringstream sst;
-        if (num_down_in_subtrees == 1) {
-          sst << num_down_in_subtrees << "/" << num_in_subtrees << " of CRUSH type " <<
-                g_conf->mon_osd_down_out_subtree_limit << " is down.\n";
+        if (num_in_subtrees == 1) {
+          sst << num_down_in_subtrees << "/" << num_in_subtrees << " " << g_conf->mon_osd_down_out_subtree_limit <<
+                " is down";
+         sst << "(" << down_in_subtree_names << ")";
          summary.push_back(make_pair(HEALTH_WARN, sst.str()));
         } else {
-          sst << num_down_in_subtrees << "/" << num_in_subtrees << " of CRUSH type " <<
-                 g_conf->mon_osd_down_out_subtree_limit << " are down.\n";
+          sst << num_down_in_subtrees << "/" << num_in_subtrees << " " << g_conf->mon_osd_down_out_subtree_limit <<
+                "s are down";
+         sst << "(" << down_in_subtree_names << ")";
          summary.push_back(make_pair(HEALTH_WARN, sst.str()));
         }
-        if (detail) {
-         ss << "\n" << sst.str();
-         ss << "CRUSH type " << g_conf->mon_osd_down_out_subtree_limit << " down list: [" <<
-               down_in_subtree_names << "]";
-         detail->push_back(make_pair(HEALTH_WARN, ss.str()));
-        }
       }
     }