Browse Source

Enable mutable config in Tricircle

1. What is the problem?

   The oslo.config support a 'mutable' parameter to Opts.
   This is only respected when the new method mutate_config_files
   is called instead of we need to enable
   mutable config in tricircle.

2. What is the solution to the problem?

   Depend on the two path in oslo.config which are
   Icec3e664f3fe72614e373b2938e8dee53cf8bc5e and
   I1e7a69de169cc85f4c09954b2f46ce2da7106d90 made the Tricircle
   have the ability to mutable config.

3. What the features to be implemented in the Tricircle to realize the solution?

   Further patches will be needed to make select config options be marked as
   mutable. This change enables support for oslo provided config options
   to be updated via SIGHUP such as log level.

   Signed-off-by: song baisen <>
   Co-Authored-By: tangzhuo <>, zhiyuan_cai <>

Change-Id: I7b42bfb75913190fa4bd0d892e72fec8f629d7a6
songbaisen 3 years ago
2 changed files with 4 additions and 2 deletions
  1. +2
  2. +2

+ 2
- 1
tricircle/common/ View File

@ -45,7 +45,8 @@ def serve(api_service, conf, workers=1):
if _launcher:
raise RuntimeError(_('serve() can only be called once'))
_launcher = service.launch(conf, api_service, workers=workers)
_launcher = service.ProcessLauncher(conf, restart_method='mutate')
_launcher.launch_service(api_service, workers=workers)
def wait():

+ 2
- 1
tricircle/xjob/ View File

@ -245,7 +245,8 @@ def serve(xservice, workers=1):
if _launcher:
raise RuntimeError(_('serve() can only be called once'))
_launcher = srv.launch(CONF, xservice, workers=workers)
_launcher = srv.ProcessLauncher(CONF, restart_method='mutate')
_launcher.launch_service(xservice, workers=workers)
def wait():