Enable mutable configuration

There is a strong desire from operators to be able to change configuration options without a service restart. For example, to selectively enable DEBUG logging in response to observed issues. As of OpenStack Newton, config options can be marked as ‘mutable’. This means they can be reloaded (usually via SIGHUP) at runtime, without a service restart. However, each project has to be enabled before this will work and some care needs to be taken over how each option is used before it can safely be marked mutable. For more details please refer to Enabling your project for mutable config

Champion

Goals need a main driver to project-manage them to completion. Project teams need assistance, reminders and sometimes direct help in order for them to complete the goals.

ChangBo Guo (gcb) has volunteered to drive this goal.

Gerrit Topic

To facilitate tracking, commits related to this goal should use the gerrit topic:

mutable-config

Storyboard

Progress on this goal is tracked via https://storyboard.openstack.org/#!/story/2001545

Completion Criteria

Each project service could be turned on/off debug logging without restart

  1. Support reloading configuration options at runtime, without a service restart

  2. Toggle the debug option for each service at runtime

References

Current State / Anticipated Impact

oslo.config and oslo.service have implemented basic functions and we have enabled Nova to support mutable configuration and mark some configuration option like CONF.libvirt.live_migration_progress_timeout as ‘mutable’.