From: John Spray Date: Mon, 9 Apr 2018 19:37:55 +0000 (-0400) Subject: mon: warn user doing "config key set mgr/..." X-Git-Tag: v13.1.0~143^2~10 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=69f0a0966ef34e7f1d3aff85fabbb4a6dc0f1d14;p=ceph-ci.git mon: warn user doing "config key set mgr/..." This is still completely legal, but isn't going to have the effect they wanted if they were trying to set a configuration option for a mgr module. Signed-off-by: John Spray --- diff --git a/src/mon/ConfigKeyService.cc b/src/mon/ConfigKeyService.cc index a9d78fcd331..6dbdea91664 100644 --- a/src/mon/ConfigKeyService.cc +++ b/src/mon/ConfigKeyService.cc @@ -236,8 +236,22 @@ bool ConfigKeyService::service_dispatch(MonOpRequestRef op) << "Use 'mon config key max entry size' to manually adjust"; goto out; } - // we'll reply to the message once the proposal has been handled + + std::string mgr_prefix = "mgr/"; + if (key.size() >= mgr_prefix.size() && + key.substr(0, mgr_prefix.size()) == mgr_prefix) { + // In <= mimic, we used config-key for mgr module configuration, + // and we bring values forward in an upgrade, but subsequent + // `set` operations will not be picked up. Warn user about this. + ss << "WARNING: it looks like you might be trying to set a ceph-mgr " + "module configuration key. Since Ceph 13.0.0 (Mimic), mgr module " + "configuration is done with `config set`, and new values " + "set using `config-key set` will be ignored.\n"; + } + ss << "set " << key; + + // we'll reply to the message once the proposal has been handled store_put(key, data, new Monitor::C_Command(mon, op, 0, ss.str(), 0)); // return for now; we'll put the message once it's done.