ceph osd tree | grep -c host1 | grep -q 2
ceph osd tree | grep -c osd.$o2 | grep -q 2
ceph osd tree | grep -c host2 | grep -q 2
+# FIXME: these should be idempotent!
ceph osd crush rm host1 foo && exit 1 || true # not empty
ceph osd crush unlink host1 foo
+# FIXME: these should be idempotent!
ceph osd crush unlink host1 foo && exit 1 || true # not there anymore
ceph osd tree | grep -c host1 | grep -q 1
+# FIXME: these should be idempotent!
ceph osd crush rm foo && exit 1 || true
ceph osd crush rm bar && exit 1 || true
ceph osd crush unlink host1 bar
ceph osd tree | grep -c host1 | grep -q 1 # now an orphan
-ceph osd crush rm osd.1 host1
+ceph osd crush rm osd.$o1 host1
ceph osd crush rm host1
ceph osd tree | grep -c host1 | grep -q 0
+# FIXME: these should be idempotent!
ceph osd crush rm bar && exit 1 || true
ceph osd crush unlink host2
ceph osd crush rm bar
ceph osd crush rm foo
ceph osd crush rm osd.$o2 host2
ceph osd crush rm host2
-ceph osd crush rm osd.$o1
-ceph osd crush rm osd.$o2
-ceph osd crush rm osd.$o2 && exti 1 || true
+
+# FIXME: these should be idempotent!
+ceph osd crush rm osd.$o1 && exit 1 || true
+ceph osd crush rm osd.$o2 && exit 1 || true
echo OK