]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: add mon_debug_no_require_octopus
authorSage Weil <sage@redhat.com>
Fri, 22 Mar 2019 22:33:39 +0000 (17:33 -0500)
committerSage Weil <sage@redhat.com>
Tue, 2 Apr 2019 21:19:43 +0000 (16:19 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
qa/standalone/mon/msgr-v2-transition.sh
qa/workunits/cephtool/test.sh
src/common/options.cc
src/mon/OSDMonitor.cc

index b489d43192e0cd53c98088ad08829b92aece8fe9..82a05b5a6a7b38c0f3bca492afc9e9f6a25b68ce 100755 (executable)
@@ -23,7 +23,7 @@ function run() {
 function TEST_mon_v1_osd_addrs() {
     local dir=$1
 
-    export CEPH_ARGS="$CEPH_ARGS --mon-host=$CEPH_MON_V1 --mon-debug-no-require-nautilus"
+    export CEPH_ARGS="$CEPH_ARGS --mon-host=$CEPH_MON_V1 --mon-debug-no-require-octopus --mon-debug-no-require-nautilus"
     run_mon $dir a || return 1
 
     ceph mon dump | grep mon.a | grep $CEPH_MON_V1
@@ -58,7 +58,7 @@ function TEST_mon_v1_osd_addrs() {
 function TEST_mon_v2v1_osd_addrs() {
     local dir=$1
 
-    export CEPH_ARGS="$CEPH_ARGS --mon-host=[$CEPH_MON_V2,$CEPH_MON_V1] --mon-debug-no-require-nautilus"
+    export CEPH_ARGS="$CEPH_ARGS --mon-host=[$CEPH_MON_V2,$CEPH_MON_V1] --mon-debug-no-require-octopus --mon-debug-no-require-nautilus"
     run_mon $dir a || return 1
 
     ceph mon dump | grep mon.a | grep $CEPH_MON_V1
index 548cc7572eeef4a64ecb31e18d6bdee8cf19433f..e9610526d993fefa187925cb6552eeff0cfbef0c 100755 (executable)
@@ -1488,9 +1488,11 @@ function test_mon_osd()
        expect_false ceph osd set $f
        expect_false ceph osd unset $f
   done
-  ceph osd require-osd-release nautilus
-  # can't lower (or use new command for anything but jewel)
-  expect_false ceph osd require-osd-release jewel
+  ceph osd require-osd-release octopus
+  # can't lower
+  expect_false ceph osd require-osd-release nautilus
+  expect_false ceph osd require-osd-release mimic
+  expect_false ceph osd require-osd-release luminous
   # these are no-ops but should succeed.
 
   ceph osd set noup
index 8a35540db451fd4620b143a9de553a2f6b9fed06..984d5dca7a0053e69e9ce5d93b2081ef519b279f 100644 (file)
@@ -1862,6 +1862,12 @@ std::vector<Option> get_global_options() {
     .set_flag(Option::FLAG_CLUSTER_CREATE)
     .set_description("do not set nautilus feature for new mon clusters"),
 
+    Option("mon_debug_no_require_octopus", Option::TYPE_BOOL, Option::LEVEL_DEV)
+    .set_default(false)
+    .add_service("mon")
+    .set_flag(Option::FLAG_CLUSTER_CREATE)
+    .set_description("do not set octopus feature for new mon clusters"),
+
     Option("mon_debug_no_require_bluestore_for_ec_overwrites", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
     .add_service("mon")
index 5b7f3b98e435d20cdacd18d7be0eafb7b74453af..7b4beffc243d9313c7f568f1d6a82bdf64264f7b 100644 (file)
@@ -338,16 +338,22 @@ void OSDMonitor::create_initial()
   if (newmap.nearfull_ratio > 1.0) newmap.nearfull_ratio /= 100;
 
   // new cluster should require latest by default
-  if (g_conf().get_val<bool>("mon_debug_no_require_nautilus")) {
-    if (g_conf()->mon_debug_no_require_mimic) {
-      derr << __func__ << " mon_debug_no_require_mimic=true and nautilus=true" << dendl;
-      newmap.require_osd_release = CEPH_RELEASE_LUMINOUS;
+  if (g_conf().get_val<bool>("mon_debug_no_require_octopus")) {
+    if (g_conf().get_val<bool>("mon_debug_no_require_nautilus")) {
+      if (g_conf()->mon_debug_no_require_mimic) {
+       derr << __func__ << " mon_debug_no_require_octopus, nautilus, and mimic=true"
+            << dendl;
+       newmap.require_osd_release = CEPH_RELEASE_LUMINOUS;
+      } else {
+       derr << __func__ << " mon_debug_no_require_octopus and nautilus=true" << dendl;
+       newmap.require_osd_release = CEPH_RELEASE_MIMIC;
+      }
     } else {
-      derr << __func__ << " mon_debug_no_require_nautilus=true" << dendl;
-      newmap.require_osd_release = CEPH_RELEASE_MIMIC;
+      derr << __func__ << " mon_debug_no_require_octopus=true" << dendl;
+      newmap.require_osd_release = CEPH_RELEASE_NAUTILUS;
     }
   } else {
-    newmap.require_osd_release = CEPH_RELEASE_NAUTILUS;
+    newmap.require_osd_release = CEPH_RELEASE_OCTOPUS;
     int r = ceph_release_from_name(
       g_conf()->mon_osd_initial_require_min_compat_client.c_str());
     if (r <= 0) {