--- /dev/null
+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
--- /dev/null
+#!/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
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) {