]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
monmaptool: add --set-min-mon-release
authorSage Weil <sage@redhat.com>
Tue, 29 Jan 2019 18:50:04 +0000 (12:50 -0600)
committerSage Weil <sage@redhat.com>
Tue, 12 Feb 2019 18:40:36 +0000 (12:40 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/test/cli/monmaptool/help.t
src/tools/monmaptool.cc

index c976aa0753eb157e62b3db2147c3939586fa0434..22023966bb9d7de052332df44ea7c097063816fa 100644 (file)
@@ -5,5 +5,6 @@
           [--add name 1.2.3.4:567] [--rm name]
           [--feature-list [plain|parseable]]
           [--feature-set <value> [--optional|--persistent]]
-          [--feature-unset <value> [--optional|--persistent]] <mapfilename>
-  [1]
+          [--feature-unset <value> [--optional|--persistent]]
+          [--set-min-mon-release <release-major-number>]
+          <mapfilename>
index 25b4d64590d9d2bc0a566fd34048ae679bab7205..ef819a3a5e286442c1449f48082db300fd1aed52 100644 (file)
@@ -29,8 +29,9 @@ void usage()
        << "        [--add name 1.2.3.4:567] [--rm name]\n"
        << "        [--feature-list [plain|parseable]]\n"
        << "        [--feature-set <value> [--optional|--persistent]]\n"
-       << "        [--feature-unset <value> [--optional|--persistent]] "
-       << "<mapfilename>"
+       << "        [--feature-unset <value> [--optional|--persistent]]\n"
+       << "        [--set-min-mon-release <release-major-number>]\n"
+       << "        <mapfilename>"
        << std::endl;
 }
 
@@ -193,6 +194,7 @@ int main(int argc, const char **argv)
   bool show_features = false;
   bool generate = false;
   bool filter = false;
+  int min_mon_release = -1;
   map<string,entity_addr_t> add;
   map<string,entity_addrvec_t> addv;
   list<string> rm;
@@ -218,6 +220,9 @@ int main(int argc, const char **argv)
       generate = true;
     } else if (ceph_argparse_flag(args, i, "--set-initial-members", (char*)NULL)) {
       filter = true;
+    } else if (ceph_argparse_witharg(args, i, &val, "--set-min-mon-release",
+                                    (char*)NULL)) {
+      min_mon_release = atoi(val.c_str());
     } else if (ceph_argparse_flag(args, i, "--add", (char*)NULL)) {
       string name = *i;
       i = args.erase(i);
@@ -354,6 +359,12 @@ int main(int argc, const char **argv)
       return r;
   }
 
+  if (min_mon_release >= 0) {
+    monmap.min_mon_release = min_mon_release;
+    cout << "setting min_mon_release = " << min_mon_release << std::endl;
+    modified = true;
+  }
+
   if (filter) {
     // apply initial members
     list<string> initial_members;