]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: kill "class create" command
authorxie xingguo <xie.xingguo@zte.com.cn>
Tue, 18 Jul 2017 08:53:50 +0000 (16:53 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Wed, 26 Jul 2017 14:40:17 +0000 (22:40 +0800)
The device class is now self and automatically managed.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
qa/standalone/crush/crush-classes.sh
qa/workunits/mon/crush_ops.sh
qa/workunits/rados/test_health_warnings.sh
src/ceph-disk/tests/ceph-disk.sh
src/mon/MonCommands.h
src/mon/OSDMonitor.cc

index dfc3d036ff555ee4df5e78c3c82c35605d17c9da..0bf32b52db0bfcd863e44b78128771f0ba3a405f 100755 (executable)
@@ -146,16 +146,6 @@ function TEST_mon_classes() {
     test "$(get_osds_up rbd SOMETHING)" == "1 2 0" || return 1
     add_something $dir SOMETHING || return 1
 
-    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 crush class rm CLASS || return 1
-    expect_failure $dir ENOENT ceph osd crush class rm CLASS || return 1
-
     # test rm-device-class
     ceph osd crush set-device-class aaa osd.0 || return 1
     ceph osd tree | grep -q 'aaa' || return 1
index 11f0b4f4ae50253e41b0cff960eacdc065d2d542..5e6f696118f3295884813efd3ae68530d4126820 100755 (executable)
@@ -21,8 +21,6 @@ ceph osd crush rule create-simple bar default host
 
 # make sure we're at luminous+ before using crush device classes
 ceph osd require-osd-release luminous
-ceph osd crush class create ssd
-ceph osd crush class create hdd
 ceph osd crush set-device-class ssd osd.0
 ceph osd crush set-device-class hdd osd.1
 ceph osd crush rule create-replicated foo-ssd default host ssd
index 8bf60065f017e7d942ac29a190e89b857bb6bcde..a4a9c11c638cf4833ab5cc71f42063f70c2c0311 100755 (executable)
@@ -55,8 +55,6 @@ test_mark_all_but_last_osds_down() {
 
 test_mark_two_osds_same_host_down_with_classes() {
     ceph osd set noup
-    ceph osd crush class create ssd
-    ceph osd crush class create hdd
     ceph osd crush set-device-class ssd osd.0 osd.2 osd.4 osd.6 osd.8
     ceph osd crush set-device-class hdd osd.1 osd.3 osd.5 osd.7 osd.9
     ceph osd down osd.0 osd.1
index c89092ef4036128dee0685fb6b1ebd1ff151c32e..5bf1470da180f10bea9b9d63cb46b6ba4cc7356a 100755 (executable)
@@ -409,8 +409,6 @@ function test_crush_device_class() {
     test -f $osd_data/crush_device_class || return 1
     test $(cat $osd_data/crush_device_class) = CRUSH_CLASS || return 1
 
-    ceph osd crush class create CRUSH_CLASS || return 1
-
     CEPH_ARGS="--crush-location=root=default $CEPH_ARGS" \
       ${CEPH_DISK} $CEPH_DISK_ARGS \
         --verbose \
index b57f9914f992fb6081f3733e92b1a7eb2b520edf..8788b12b4f748e10a4374da95ec408498bc53dd6 100644 (file)
@@ -641,10 +641,6 @@ COMMAND("osd crush tree "
         "name=shadow,type=CephChoices,strings=--show-shadow,req=false", \
        "dump crush buckets and items in a tree view",
        "osd", "r", "cli,rest")
-COMMAND("osd crush class create " \
-       "name=class,type=CephString,goodchars=[A-Za-z0-9-_]", \
-       "create crush device class <class>", \
-       "osd", "rw", "cli,rest")
 COMMAND("osd crush class rm " \
        "name=class,type=CephString,goodchars=[A-Za-z0-9-_]", \
        "remove crush device class <class>", \
index 26a602bcc9a11b2aca83668822b9aa8414d626a9..dedebd72c8d3c0f4803658b3a03c34f5ddeda66a 100644 (file)
@@ -7615,40 +7615,6 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       goto reply;
     else
       goto update;
-  } else if (prefix == "osd crush class create") {
-    string device_class;
-    if (!cmd_getval(g_ceph_context, cmdmap, "class", device_class)) {
-      err = -EINVAL; // no value!
-      goto reply;
-    }
-    if (osdmap.require_osd_release < CEPH_RELEASE_LUMINOUS) {
-      ss << "you must complete the upgrade and 'ceph osd require-osd-release "
-        << "luminous' before using crush device classes";
-      err = -EPERM;
-      goto reply;
-    }
-    if (!_have_pending_crush() &&
-       _get_stable_crush().class_exists(device_class)) {
-      ss << "class '" << device_class << "' already exists";
-      goto reply;
-    }
-
-    CrushWrapper newcrush;
-    _get_pending_crush(newcrush);
-
-    if (newcrush.class_exists(name)) {
-      ss << "class '" << device_class << "' already exists";
-      goto update;
-    }
-
-    int class_id = newcrush.get_or_create_class_id(device_class);
-
-    pending_inc.crush.clear();
-    newcrush.encode(pending_inc.crush, mon->get_quorum_con_features());
-    ss << "created class " << device_class << " with id " << class_id
-       << " to crush map";
-    goto update;
-    
   } else if (prefix == "osd crush class rm") {
     string device_class;
     if (!cmd_getval(g_ceph_context, cmdmap, "class", device_class)) {