reloads mutable config values on SIGHUP
This changes the ironic (ironic-api and ironic-conductor) services so that when a SIGHUP signal is issued, the service reloads (and uses) the values of mutable configuration options. The mutable configuration options (set by oslo.config Opts' mutable=True) are: - [DEFAULT]/pin_release_version - [DEFAULT]/debug - [DEFAULT]/log_config_append and are indicated as such in ironic's sample config (https://docs.openstack.org/ironic/latest/configuration/sample-config.html) by "# Note: This option can be changed without restarting.". Configuration options are mutable if their oslo.config Opt's mutable=True is set. This mutable setting is respected when the oslo method mutate_config_files is called instead of reload_config_files. Icec3e664f3fe72614e373b2938e8dee53cf8bc5e allows services to tell oslo.service they want mutate_config_files to be called by specifying the 'restart_method=mutate' parameter, which this patch does. Change-Id: I0df46bb21dda035b25daad17737dbfedb861e868 Closes-Bug: #1585595
This commit is contained in:
parent
46ee76aa46
commit
398462021b
@ -81,7 +81,7 @@ def main():
|
|||||||
|
|
||||||
profiler.setup('ironic_conductor', CONF.host)
|
profiler.setup('ironic_conductor', CONF.host)
|
||||||
|
|
||||||
launcher = service.launch(CONF, mgr)
|
launcher = service.launch(CONF, mgr, restart_method='mutate')
|
||||||
launcher.wait()
|
launcher.wait()
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,4 +36,4 @@ def prepare_service(argv=None):
|
|||||||
|
|
||||||
|
|
||||||
def process_launcher():
|
def process_launcher():
|
||||||
return service.ProcessLauncher(CONF)
|
return service.ProcessLauncher(CONF, restart_method='mutate')
|
||||||
|
@ -282,7 +282,7 @@ service_opts = [
|
|||||||
'hostname, FQDN, or IP address.')),
|
'hostname, FQDN, or IP address.')),
|
||||||
cfg.StrOpt('pin_release_version',
|
cfg.StrOpt('pin_release_version',
|
||||||
choices=versions.RELEASE_VERSIONS,
|
choices=versions.RELEASE_VERSIONS,
|
||||||
# TODO(xek): mutable=True,
|
mutable=True,
|
||||||
help=_('Used for rolling upgrades. Setting this option '
|
help=_('Used for rolling upgrades. Setting this option '
|
||||||
'downgrades (or pins) the Bare Metal API, '
|
'downgrades (or pins) the Bare Metal API, '
|
||||||
'the internal ironic RPC communication, and '
|
'the internal ironic RPC communication, and '
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Issuing a SIGHUP (e.g. ``pkill -HUP ironic``) to an ironic-api or
|
||||||
|
ironic-conductor service will cause the service to reload and use any
|
||||||
|
changed values for *mutable* configuration options. The mutable
|
||||||
|
configuration options are:
|
||||||
|
|
||||||
|
* [DEFAULT]/debug
|
||||||
|
* [DEFAULT]/log_config_append
|
||||||
|
* [DEFAULT]/pin_release_version
|
||||||
|
|
||||||
|
Mutable configuration options are indicated as such in the `sample configuration
|
||||||
|
file <https://docs.openstack.org/ironic/latest/configuration/sample-config.html>`_
|
||||||
|
by ``Note: This option can be changed without restarting``.
|
||||||
|
|
||||||
|
A warning is logged for any changes to immutable configuration options.
|
Loading…
Reference in New Issue
Block a user