Files
trove/trove/cmd/conductor.py
T
Marcin Piwowarczykandkata-containers fd1568f833 Enable mutable config in trove
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 trove 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

Co-Authored-By: Anusree A <anusree.a04:@gmail.com>
Change-Id: I02da8ce44d52b0f0dc67660c8ec76b5effb5f73c
2018-08-23 09:39:00 +00:00

40 lines
1.6 KiB
Python

# Copyright 2013 Rackspace Hosting
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_concurrency import processutils
from oslo_service import service as openstack_service
from trove.cmd.common import with_initialize
from trove.conductor import api as conductor_api
@with_initialize
def main(conf):
from trove.common import notification
from trove.common.rpc import conductor_host_serializer as sz
from trove.common.rpc import service as rpc_service
from trove.instance import models as inst_models
notification.DBaaSAPINotification.register_notify_callback(
inst_models.persist_instance_fault)
topic = conf.conductor_queue
server = rpc_service.RpcService(
key=None, manager=conf.conductor_manager, topic=topic,
rpc_api_version=conductor_api.API.API_LATEST_VERSION,
secure_serializer=sz.ConductorHostSerializer)
workers = conf.trove_conductor_workers or processutils.get_worker_count()
launcher = openstack_service.launch(conf, server, workers=workers,
restart_method='mutate')
launcher.wait()