diff --git a/magnum/common/rpc_service.py b/magnum/common/rpc_service.py index cbe551dfb9..7e03c59428 100644 --- a/magnum/common/rpc_service.py +++ b/magnum/common/rpc_service.py @@ -15,11 +15,11 @@ """Common RPC service and API tools for Magnum.""" import eventlet -from oslo_config import cfg import oslo_messaging as messaging from oslo_service import service from magnum.common import rpc +import magnum.conf from magnum.objects import base as objects_base from magnum.service import periodic from magnum.servicegroup import magnum_service_periodic as servicegroup @@ -41,25 +41,7 @@ TRANSPORT_ALIASES = { 'magnum.openstack.common.rpc.impl_zmq': 'zmq', } -periodic_opts = [ - cfg.BoolOpt('periodic_global_stack_list', - default=False, - help="List Heat stacks globally when syncing clusters. " - "Default is to do retrieve each cluster's stack " - "individually. Reduces number of requests against " - "Heat API if enabled but requires changes to Heat's " - "policy.json."), - cfg.BoolOpt('periodic_enable', - default=True, - help='Enable periodic tasks.'), - cfg.IntOpt('periodic_interval_max', - default=60, - help='Max interval size between periodic tasks execution in ' - 'seconds.'), -] - -CONF = cfg.CONF -CONF.register_opts(periodic_opts) +CONF = magnum.conf.CONF class Service(service.Service): @@ -68,7 +50,7 @@ class Service(service.Service): super(Service, self).__init__() serializer = rpc.RequestContextSerializer( objects_base.MagnumObjectSerializer()) - transport = messaging.get_transport(cfg.CONF, + transport = messaging.get_transport(CONF, aliases=TRANSPORT_ALIASES) # TODO(asalkeld) add support for version='x.y' target = messaging.Target(topic=topic, server=server) @@ -102,7 +84,7 @@ class API(object): objects_base.MagnumObjectSerializer()) if transport is None: exmods = rpc.get_allowed_exmods() - transport = messaging.get_transport(cfg.CONF, + transport = messaging.get_transport(CONF, allowed_remote_exmods=exmods, aliases=TRANSPORT_ALIASES) self._context = context diff --git a/magnum/conf/__init__.py b/magnum/conf/__init__.py index fbfcdc3d6b..847eb12688 100644 --- a/magnum/conf/__init__.py +++ b/magnum/conf/__init__.py @@ -32,6 +32,7 @@ from magnum.conf import magnum_client from magnum.conf import neutron from magnum.conf import nova from magnum.conf import paths +from magnum.conf import rpc from magnum.conf import utils # from magnum.conf import x509 @@ -54,5 +55,6 @@ magnum_client.register_opts(CONF) neutron.register_opts(CONF) nova.register_opts(CONF) paths.register_opts(CONF) +rpc.register_opts(CONF) utils.register_opts(CONF) # x509.register_opts(CONF) diff --git a/magnum/conf/rpc.py b/magnum/conf/rpc.py new file mode 100644 index 0000000000..0bc1bb5958 --- /dev/null +++ b/magnum/conf/rpc.py @@ -0,0 +1,41 @@ +# 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_config import cfg + + +periodic_opts = [ + cfg.BoolOpt('periodic_global_stack_list', + default=False, + help="List Heat stacks globally when syncing clusters. " + "Default is to do retrieve each cluster's stack " + "individually. Reduces number of requests against " + "Heat API if enabled but requires changes to Heat's " + "policy.json."), + cfg.BoolOpt('periodic_enable', + default=True, + help='Enable periodic tasks.'), + cfg.IntOpt('periodic_interval_max', + default=60, + help='Max interval size between periodic tasks execution in ' + 'seconds.'), +] + + +def register_opts(conf): + conf.register_opts(periodic_opts) + + +def list_opts(): + return { + "DEFAULT": periodic_opts + } diff --git a/magnum/opts.py b/magnum/opts.py index 36ee04cb7b..b9d58a21d5 100644 --- a/magnum/opts.py +++ b/magnum/opts.py @@ -17,8 +17,8 @@ import itertools import magnum.common.cert_manager from magnum.common.cert_manager import local_cert_manager +import magnum.common.docker_utils import magnum.common.exception -import magnum.common.rpc_service import magnum.common.service import magnum.common.x509.config import magnum.db @@ -27,10 +27,7 @@ import magnum.drivers.common.template_def def list_opts(): return [ - ('DEFAULT', - itertools.chain(magnum.common.rpc_service.periodic_opts, - magnum.common.service.service_opts, - )), + ('DEFAULT', magnum.common.service.service_opts), ('docker', magnum.common.docker_utils.docker_opts), ('trust', magnum.common.keystone.trust_opts), ('x509', magnum.common.x509.config.x509_opts), diff --git a/magnum/service/periodic.py b/magnum/service/periodic.py index cbef5ee37d..971af74947 100644 --- a/magnum/service/periodic.py +++ b/magnum/service/periodic.py @@ -16,7 +16,6 @@ import functools from heatclient import exc as heat_exc -from oslo_config import cfg from oslo_log import log from oslo_service import periodic_task import six @@ -26,6 +25,7 @@ from magnum.common import context from magnum.common import exception from magnum.common import rpc from magnum.conductor import monitors +import magnum.conf from magnum.i18n import _ from magnum.i18n import _LI from magnum.i18n import _LW @@ -33,7 +33,7 @@ from magnum import objects from magnum.objects import fields -CONF = cfg.CONF +CONF = magnum.conf.CONF LOG = log.getLogger(__name__)