Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config: complains when a setting is not tracked #7085

Merged
merged 1 commit into from Jan 13, 2016

Conversation

tchaikov
Copy link
Contributor

  • not all config items are tracked, so it does not take any effect after
    we sucessfully changed them using "ceph tell injectargs --foo-bar 15',
    as shown by the command output:
    $daemon: foo_bar = '15'
    if foo-bar happens to be the one not tracked by any components in .
    in this fix, the message of
    $daemon: foo_bar = '15' (unchangeable)
    is returned instead. nevertheless, the config is still updated. as
    "ceph daemon config show | grep foo_bar" shows:
    "foo_bar": "15"
    this helps user to understand that the setting is not dynamically
    changeable.
  • update the test accordingly

Fixes: #11692
Signed-off-by: Kefu Chai kchai@redhat.com

* not all config items are tracked, so it does not take any effect after
  we sucessfully changed them using "ceph tell <daemon> injectargs  --foo-bar 15',
  as shown by the command output:
    $daemon: foo_bar = '15'
  if foo-bar happens to be the one not tracked by any components in <daemon>.
  in this fix, the message of
    $daemon: foo_bar = '15' (unchangeable)
  is returned instead. nevertheless, the config is still updated. as
  "ceph daemon <daemon> config show | grep foo_bar" shows:
    "foo_bar": "15"
  this helps user to understand that the setting is not dynamically
  changeable.
* update the test accordingly

Fixes: ceph#11692
Signed-off-by: Kefu Chai <kchai@redhat.com>
@liewegas
Copy link
Member

lgtm

liewegas added a commit that referenced this pull request Jan 13, 2016
config: complains when a setting is not tracked

Reviewed-by: Sage Weil <sage@redhat.com>
@liewegas liewegas merged commit d93d92a into ceph:master Jan 13, 2016
@tchaikov tchaikov deleted the wip-11692 branch January 13, 2016 08:02
@xiaoxichen
Copy link
Contributor

Sorry, just saw this PR as I saw "unchangeable" in our env. It looks to me like if the configuration is not dynamically changeable, we may better NOT to update the config? as the config set by injectargs is not persist to disk , so before reboot the daemon, config will not take effect, after reboot the daemon, config will lost...it doesnt work(i.e make the config change) anyway.

@tchaikov
Copy link
Contributor Author

by

we may better NOT to update the config

you are suggesting that we should forbid this "injectargs" command, and return error if any of the injected args are not being observed?

@xiaoxichen
Copy link
Contributor

@tchaikov , yes. It is confusing now ,when user see "unchangable" , they expect nothing changed, but actually the config changed in memory but only doesnt make difference.

@tchaikov
Copy link
Contributor Author

user is allowed to inject multiple args in a single command, what do you expect if only one of them is not tracked?

@xiaoxichen
Copy link
Contributor

@tchaikov accept and change other args, report unchangeable to non-tracking args and do nothing for these args. Make sense?

@tchaikov
Copy link
Contributor Author

On Fri, Jun 24, 2016 at 8:35 AM, Xiaoxi Chen notifications@github.com
wrote:

@tchaikov https://github.com/tchaikov accept and change other args,
report unchangeable to non-tracking args and do nothing for these args.
Make sense?

but this is exactly we have now.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#7085 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AADmv-pR9e_OQMDRcUlTP_SZ2UIEEPLwks5qOyY0gaJpZM4G83zk
.

Regards
Kefu Chai

@xiaoxichen
Copy link
Contributor

@tchaikov ,but the admin socket on target daemon will show the changed args, even the arg doesn't works at all...

We notice this because we had an accident on our network switch so lots of the OSD down and out, and we would intent to speed up the recovery, then we inject "osd_recovery_max_active= 10" and got "unchangeable", but in admin socket we can see this configuration so we assume it is working but actually not. My point is the non-tracking args showing in admin socket config dump is really misleading, other guys will never know whether the args in config dump is make effect if they don't know how this is set, via admin socket or via configuration files.

@tchaikov
Copy link
Contributor Author

@xiaoxichen could you bring this to ceph-devel ML for more discussion? personally, i think your proposal does make sense: does not change the non-tracked opts at all with injectargs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants