]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: add test for crush type down health warnings 14914/head
authorNeha Ojha <nojha@redhat.com>
Tue, 16 May 2017 18:57:10 +0000 (11:57 -0700)
committerNeha Ojha <nojha@redhat.com>
Tue, 16 May 2017 21:16:19 +0000 (14:16 -0700)
Signed-off-by: Neha Ojha <nojha@redhat.com>
qa/suites/rados/singleton-nomsgr/all/health-warnings.yaml [new file with mode: 0644]
qa/workunits/rados/test_health_warnings.sh [new file with mode: 0755]
src/mon/OSDMonitor.cc

diff --git a/qa/suites/rados/singleton-nomsgr/all/health-warnings.yaml b/qa/suites/rados/singleton-nomsgr/all/health-warnings.yaml
new file mode 100644 (file)
index 0000000..eb12116
--- /dev/null
@@ -0,0 +1,9 @@
+roles:
+- [mon.a, mgr.x, osd.0, osd.1, osd.2, osd.3, osd.4, osd.5, osd.6, osd.7, osd.8, osd.9, client.0]
+tasks:
+- install:
+- ceph:
+- workunit:
+    clients:
+      all:
+        - rados/test_health_warnings.sh
diff --git a/qa/workunits/rados/test_health_warnings.sh b/qa/workunits/rados/test_health_warnings.sh
new file mode 100755 (executable)
index 0000000..d9ddbbe
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash -ex
+
+set -u
+
+# number of osds = 10
+crushtool -o crushmap --build --num_osds 10 host straw 2 rack straw 2 row straw 2 root straw 0
+ceph osd setcrushmap -i crushmap
+ceph osd tree
+
+test_mark_two_osds_same_host_down() {
+  ceph osd down osd.0 osd.1
+  ceph health detail
+  ceph health | grep "host"
+  ceph health detail | grep "osd.0"
+  ceph health detail | grep "osd.1"
+}
+
+test_mark_two_osds_same_rack_down() {
+  ceph osd down osd.8 osd.9
+  ceph health detail
+  ceph health | grep "rack"
+  ceph health detail | grep "osd.8"
+  ceph health detail | grep "osd.9"
+}
+
+test_mark_all_osds_down() {
+  ceph osd down `ceph osd ls`
+  ceph health detail
+  ceph health | grep "row"
+}
+
+test_mark_two_osds_same_host_down
+test_mark_two_osds_same_rack_down
+test_mark_all_osds_down
+
+exit 0
index a4be13cc20326832cb2b1f9e5454cff9ad456e63..9253a58109bc9309e47a72de0f85a45e36e3c422 100644 (file)
@@ -3540,7 +3540,7 @@ void OSDMonitor::get_health(list<pair<health_status_t,string> >& summary,
           ss << " (" << sum_down_osds << " osds) down\n";
        }
       }
-      ss << down_in_osds.size() << " osds are down\n";
+      ss << down_in_osds.size() << " osds down\n";
       summary.push_back(make_pair(HEALTH_WARN, ss.str()));
 
       if (detail) {