We want all upgrades to stop at jewel. Do this by
requiring that the admin set require_jewel_osds before
allowing post-jewel OSDs (i.e., OSDs with kraken feature)
from starting.
This is similar to the hammer stop we required, except
that there we relied on the feature bits alone. Here,
we implicitly require that the admin also set the
require_jewel_osds flag.
Backport: jewel
Signed-off-by: Sage Weil <sage@redhat.com>
}
}
+ // make sure upgrades stop at jewel
+ if ((m->osd_features & CEPH_FEATURE_SERVER_KRAKEN) &&
+ !osdmap.test_flag(CEPH_OSDMAP_REQUIRE_JEWEL)) {
+ mon->clog->info() << "disallowing boot of post-jewel OSD "
+ << m->get_orig_source_inst()
+ << " because require_jewel_osds is not set\n";
+ goto ignore;
+ }
+
// make sure upgrades stop at hammer
// * HAMMER_0_94_4 is the required hammer feature
// * MON_METADATA is the first post-hammer feature