Reload Configuration without service restart

Registered by John Garbutt

Problem: We shouldn't need to restart the service just to reload some simple config options. But we also can't hope to convert all config at once.

Note, we are building on existing support here: https://blueprints.launchpad.net/oslo/+spec/cfg-reload-config-files

Suggested route:
* mark options we can reload without restart with "can_update_without_restart=True", default to false
* add a new param to reload config: without_restart=True
* if True, we only update config values that are marked with can_update_without_restart=True, and log a warning for any other changes that are spotted
* we can then convert a few easy options to can_update_without_restart=True
* other will be able to follow the pattern

We can trigger the reload using a file watcher, using something similar to: https://pypi.python.org/pypi/watchdog

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
John Garbutt
Direction:
Needs approval
Assignee:
John Garbutt
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

Marking this blueprint as definition: Drafting. If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

(?)

Work Items

Work items:
add can_update_without_restart to options (in oslo): TODO
add update_without_restart=True option to reload config (in oslo): TODO
convert some an option to can_update_without_restart=True to test out the system: TODO
open process up to others to update config variables they care about: TODO

This blueprint contains Public information 
Everyone can see this information.