
from oslo_config import cfg
from oslo_service import service as os_service

from searchlight import listener
from searchlight import service


CONF = cfg.CONF
CONF.import_group("listener", "searchlight.listener")


def main():
    service.prepare_service()
    launcher = os_service.ProcessLauncher(CONF)
    launcher.launch_service(
        listener.ListenerService(),
        workers=CONF.listener.workers)
    launcher.wait()

if __name__ == "__main__":
    main()


from oslo_config import cfg
from oslo_service import service as os_service

from searchlight import listener
from searchlight import service


CONF = cfg.CONF
CONF.import_group("listener", "searchlight.listener")


def main():
    service.prepare_service()
    launcher = os_service.ProcessLauncher(CONF, restart_method='mutate')
    launcher.launch_service(
        listener.ListenerService(),
        workers=CONF.listener.workers)
    launcher.wait()

if __name__ == "__main__":
    main()

Enable mutable config in searchlight
Enable mutable config in searchlight

New releases of oslo.config support a 'mutable' parameter to Opts.
oslo.service provides an option here Icec3e664f3fe72614e373b2938e8dee53cf8bc5e
allows services to tell oslo.service they want mutate_config_files to be
called by passing a parameter.

This commit is to use the same. This allows searchlight to benefit from
I1e7a69de169cc85f4c09954b2f46ce2da7106d90, where the 'debug' option
(owned by oslo.log) is made mutable. we should be able to turn debug
logging on and off by changing the config.

tc goal:
https://governance.openstack.org/tc/goals/rocky/enable-mutable-configuration.html

Change-Id: I1c2833bef93b1382c7ddb71dba8621004dcd4cb1

  
  from oslo_config import cfg
  from oslo_service import service as os_service
  
  from searchlight import listener
  from searchlight import service
  
  
  CONF = cfg.CONF
  CONF.import_group("listener", "searchlight.listener")
  
  
  def main():
      service.prepare_service()
-     launcher = os_service.ProcessLauncher(CONF)
+     launcher = os_service.ProcessLauncher(CONF, restart_method='mutate')
      launcher.launch_service(
          listener.ListenerService(),
          workers=CONF.listener.workers)
      launcher.wait()
  
  if __name__ == "__main__":
      main()
  
Enable mutable config in searchlight
## Code Before:

from oslo_config import cfg
from oslo_service import service as os_service

from searchlight import listener
from searchlight import service


CONF = cfg.CONF
CONF.import_group("listener", "searchlight.listener")


def main():
    service.prepare_service()
    launcher = os_service.ProcessLauncher(CONF)
    launcher.launch_service(
        listener.ListenerService(),
        workers=CONF.listener.workers)
    launcher.wait()

if __name__ == "__main__":
    main()

## Instruction:
Enable mutable config in searchlight
## Code After:

from oslo_config import cfg
from oslo_service import service as os_service

from searchlight import listener
from searchlight import service


CONF = cfg.CONF
CONF.import_group("listener", "searchlight.listener")


def main():
    service.prepare_service()
    launcher = os_service.ProcessLauncher(CONF, restart_method='mutate')
    launcher.launch_service(
        listener.ListenerService(),
        workers=CONF.listener.workers)
    launcher.wait()

if __name__ == "__main__":
    main()
