From: xie xingguo Date: Tue, 18 Jul 2017 08:53:50 +0000 (+0800) Subject: crush: kill "class create" command X-Git-Tag: v12.1.2~68^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a27fd9d25cb2819e25cc48b790c40afac0250464;p=ceph.git crush: kill "class create" command The device class is now self and automatically managed. Signed-off-by: xie xingguo --- diff --git a/qa/standalone/crush/crush-classes.sh b/qa/standalone/crush/crush-classes.sh index dfc3d036ff555..0bf32b52db0bf 100755 --- a/qa/standalone/crush/crush-classes.sh +++ b/qa/standalone/crush/crush-classes.sh @@ -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 diff --git a/qa/workunits/mon/crush_ops.sh b/qa/workunits/mon/crush_ops.sh index 11f0b4f4ae502..5e6f696118f32 100755 --- a/qa/workunits/mon/crush_ops.sh +++ b/qa/workunits/mon/crush_ops.sh @@ -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 diff --git a/qa/workunits/rados/test_health_warnings.sh b/qa/workunits/rados/test_health_warnings.sh index 8bf60065f017e..a4a9c11c638cf 100755 --- a/qa/workunits/rados/test_health_warnings.sh +++ b/qa/workunits/rados/test_health_warnings.sh @@ -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 diff --git a/src/ceph-disk/tests/ceph-disk.sh b/src/ceph-disk/tests/ceph-disk.sh index c89092ef40361..5bf1470da180f 100755 --- a/src/ceph-disk/tests/ceph-disk.sh +++ b/src/ceph-disk/tests/ceph-disk.sh @@ -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 \ diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index b57f9914f992f..8788b12b4f748 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -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 ", \ - "osd", "rw", "cli,rest") COMMAND("osd crush class rm " \ "name=class,type=CephString,goodchars=[A-Za-z0-9-_]", \ "remove crush device class ", \ diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 26a602bcc9a11..dedebd72c8d3c 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -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)) {