From f78d0012536ddb7ce3645fd0b8ab7b97dc602af2 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 29 Jan 2019 12:50:04 -0600 Subject: [PATCH] monmaptool: add --set-min-mon-release Signed-off-by: Sage Weil --- src/test/cli/monmaptool/help.t | 5 +++-- src/tools/monmaptool.cc | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/test/cli/monmaptool/help.t b/src/test/cli/monmaptool/help.t index c976aa0753eb1..22023966bb9d7 100644 --- a/src/test/cli/monmaptool/help.t +++ b/src/test/cli/monmaptool/help.t @@ -5,5 +5,6 @@ [--add name 1.2.3.4:567] [--rm name] [--feature-list [plain|parseable]] [--feature-set [--optional|--persistent]] - [--feature-unset [--optional|--persistent]] - [1] + [--feature-unset [--optional|--persistent]] + [--set-min-mon-release ] + diff --git a/src/tools/monmaptool.cc b/src/tools/monmaptool.cc index 25b4d64590d9d..ef819a3a5e286 100644 --- a/src/tools/monmaptool.cc +++ b/src/tools/monmaptool.cc @@ -29,8 +29,9 @@ void usage() << " [--add name 1.2.3.4:567] [--rm name]\n" << " [--feature-list [plain|parseable]]\n" << " [--feature-set [--optional|--persistent]]\n" - << " [--feature-unset [--optional|--persistent]] " - << "" + << " [--feature-unset [--optional|--persistent]]\n" + << " [--set-min-mon-release ]\n" + << " " << 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 add; map addv; list 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 initial_members; -- 2.39.5