]> git.proxmox.com Git - ceph.git/blobdiff - ceph/qa/standalone/crush/crush-classes.sh
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / qa / standalone / crush / crush-classes.sh
index bcaab3fa0e8898093f137bad3e3e77a3ff0e478d..509585db7e6a1837117593b9ce3fd1c6de2843df 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #
 # Copyright (C) 2017 Red Hat <contact@redhat.com>
 #
@@ -147,6 +147,20 @@ function TEST_mon_classes() {
     test "$(get_osds_up rbd SOMETHING)" == "1 2 0" || return 1
     add_something $dir SOMETHING || return 1
 
+    # test create and remove class
+    ceph osd crush class create CLASS || return 1
+    ceph osd crush class create CLASS || return 1 # idempotent
+    ceph osd crush class ls | grep CLASS  || return 1
+    ceph osd crush class rename CLASS TEMP || return 1
+    ceph osd crush class ls | grep TEMP || return 1
+    ceph osd crush class rename TEMP CLASS || return 1
+    ceph osd crush class ls | grep CLASS  || return 1
+    ceph osd erasure-code-profile set myprofile plugin=jerasure technique=reed_sol_van k=2 m=1 crush-failure-domain=osd crush-device-class=CLASS || return 1
+    expect_failure $dir EBUSY ceph osd crush class rm CLASS || return 1
+    ceph osd erasure-code-profile rm myprofile || return 1
+    ceph osd crush class rm CLASS || return 1
+    ceph osd crush class rm CLASS || return 1 # test idempotence
+
     # test rm-device-class
     ceph osd crush set-device-class aaa osd.0 || return 1
     ceph osd tree | grep -q 'aaa' || return 1