ceph osd crush rule create-simple foo default host
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 nautilus
ceph osd crush rm-device-class all
ceph osd crush set-device-class ssd osd.0
ceph osd crush set-device-class hdd osd.1
"notieragent|nosnaptrim", \
"unset <key>", "osd", "rw")
COMMAND("osd require-osd-release "\
- "name=release,type=CephChoices,strings=luminous|mimic|nautilus " \
+ "name=release,type=CephChoices,strings=luminous|mimic|nautilus|octopus " \
"name=yes_i_really_mean_it,type=CephBool,req=false", \
"set the minimum allowed OSD release to participate in the cluster",
"osd", "rw")
err = -EPERM;
goto reply;
}
+ } else if (rel == CEPH_RELEASE_OCTOPUS) {
+ if (!mon->monmap->get_required_features().contains_all(
+ ceph::features::mon::FEATURE_OCTOPUS)) {
+ ss << "not all mons are octopus";
+ err = -EPERM;
+ goto reply;
+ }
+ if ((!HAVE_FEATURE(osdmap.get_up_osd_features(), SERVER_OCTOPUS))
+ && !sure) {
+ ss << "not all up OSDs have CEPH_FEATURE_SERVER_OCTOPUS feature";
+ err = -EPERM;
+ goto reply;
+ }
} else {
ss << "not supported for this release yet";
err = -EPERM;