From: Sage Weil Date: Fri, 2 Jun 2017 04:11:21 +0000 (-0400) Subject: mon/MonmapMonitor: initialize new cluster monmap with default persistent features X-Git-Tag: ses5-milestone6~8^2~19^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5281a0ca96cd4ea23864fa0743c0224ea42076e4;p=ceph.git mon/MonmapMonitor: initialize new cluster monmap with default persistent features This is similar to what we do for OSDMonitor::create_initial(). Avoid setting these initial features just for teh mon test that verifies persistent features get set on a full quorum. Signed-off-by: Sage Weil --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index fcecf80ea83..b1d1dfc8f7b 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -380,6 +380,7 @@ OPTION(mon_debug_dump_json, OPT_BOOL, false) OPTION(mon_debug_dump_location, OPT_STR, "/var/log/ceph/$cluster-$name.tdump") OPTION(mon_debug_no_require_luminous, OPT_BOOL, false) OPTION(mon_debug_no_require_bluestore_for_ec_overwrites, OPT_BOOL, false) +OPTION(mon_debug_no_initial_persistent_features, OPT_BOOL, false) OPTION(mon_inject_transaction_delay_max, OPT_DOUBLE, 10.0) // seconds OPTION(mon_inject_transaction_delay_probability, OPT_DOUBLE, 0) // range [0, 1] diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index e61b1a4bb26..b5ac990dfd0 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -40,6 +40,14 @@ void MonmapMonitor::create_initial() dout(10) << "create_initial using current monmap" << dendl; pending_map = *mon->monmap; pending_map.epoch = 1; + + if (g_conf->mon_debug_no_initial_persistent_features) { + derr << __func__ << " mon_debug_no_initial_persistent_features=true" + << dendl; + } else { + // initialize with default persistent features for new clusters + pending_map.persistent_features = ceph::features::mon::get_persistent(); + } } void MonmapMonitor::update_from_paxos(bool *need_bootstrap) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index fc951c6bdb1..6924efb2c6a 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -223,6 +223,7 @@ void OSDMonitor::create_initial() // new cluster should require latest by default if (g_conf->mon_debug_no_require_luminous) { newmap.require_osd_release = CEPH_RELEASE_KRAKEN; + derr << __func__ << " mon_debug_no_require_luminous=true" << dendl; } else { newmap.require_osd_release = CEPH_RELEASE_LUMINOUS; newmap.full_ratio = g_conf->mon_osd_full_ratio; diff --git a/src/test/mon/misc.sh b/src/test/mon/misc.sh index 7daf378b80e..2002ecd8944 100755 --- a/src/test/mon/misc.sh +++ b/src/test/mon/misc.sh @@ -192,6 +192,8 @@ function TEST_mon_features() { CEPH_ARGS="--fsid=$fsid --auth-supported=none " CEPH_ARGS+="--mon-initial-members=a,b,c " CEPH_ARGS+="--mon-host=$MONA,$MONB,$MONC " + CEPH_ARGS+="--mon-debug-no-initial-persistent-features " + CEPH_ARGS+="--mon-debug-no-require-luminous " run_mon $dir a --public-addr $MONA || return 1 run_mon $dir b --public-addr $MONB || return 1