From: Igor Fedotov Date: Fri, 1 Mar 2019 11:43:00 +0000 (+0300) Subject: tools: no-mon-config switch for ceph-objectstore-tool. X-Git-Tag: v15.0.0~180^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ff82946f3d89b960fab35fa91a4386952c730af4;p=ceph.git tools: no-mon-config switch for ceph-objectstore-tool. Which allows to bypass contacting monitorso retrieve config. Hence permits full offline operation. Signed-off-by: Igor Fedotov --- diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index ff31158cd218..2b512990e115 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -3090,6 +3090,7 @@ int main(int argc, char **argv) ("format", po::value(&format)->default_value("json-pretty"), "Output format which may be json, json-pretty, xml, xml-pretty") ("debug", "Enable diagnostic output to stderr") + ("no-mon-config", "Do not contact mons for config") ("force", "Ignore some types of errors and proceed with operation - USE WITH CAUTION: CORRUPTION POSSIBLE NOW OR IN THE FUTURE") ("skip-journal-replay", "Disable journal replay") ("skip-mount-omap", "Disable mounting of omap") @@ -3275,12 +3276,16 @@ int main(int argc, char **argv) perror(err.c_str()); return 1; } + int init_flags = 0; + if (vm.count("no-mon-config") > 0) { + init_flags |= CINIT_FLAG_NO_MON_CONFIG; + } auto cct = global_init( NULL, ceph_options, CEPH_ENTITY_TYPE_OSD, CODE_ENVIRONMENT_UTILITY_NODOUT, - 0); + init_flags); common_init_finish(g_ceph_context); if (debug) { g_conf().set_val_or_die("log_to_stderr", "true");