From 82149ee03f77150f044da1aefbae35723cb11592 Mon Sep 17 00:00:00 2001 From: Sujitha Date: Fri, 22 Jan 2016 22:27:05 +0000 Subject: [PATCH] Config options: centralize options in availability_zones This change moves all of the configuration options previously defined in nova/availability_zones to the new centralized nova/conf directory. Blueprint centralize-config-options Change-Id: Ifbe3cc2bf1ee1b07f2a48d41060d5e43342da655 --- .../openstack/compute/availability_zone.py | 5 +-- nova/availability_zones.py | 15 +------- nova/conf/__init__.py | 4 +- nova/conf/availability_zone.py | 38 +++++++++++++++++++ nova/opts.py | 2 - .../filters/availability_zone_filter.py | 5 +-- nova/tests/unit/test_availability_zones.py | 8 +--- nova/tests/unit/virt/xenapi/test_xenapi.py | 5 +-- 8 files changed, 50 insertions(+), 32 deletions(-) create mode 100644 nova/conf/availability_zone.py diff --git a/nova/api/openstack/compute/availability_zone.py b/nova/api/openstack/compute/availability_zone.py index 7eb02b762de3..97b2520ed8fa 100644 --- a/nova/api/openstack/compute/availability_zone.py +++ b/nova/api/openstack/compute/availability_zone.py @@ -12,16 +12,15 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_config import cfg - from nova.api.openstack.compute.schemas import availability_zone as schema from nova.api.openstack import extensions from nova.api.openstack import wsgi from nova import availability_zones +import nova.conf from nova import objects from nova import servicegroup -CONF = cfg.CONF +CONF = nova.conf.CONF ALIAS = "os-availability-zone" ATTRIBUTE_NAME = "availability_zone" authorize = extensions.os_compute_authorizer(ALIAS) diff --git a/nova/availability_zones.py b/nova/availability_zones.py index dbd8697c3723..810991fbaea6 100644 --- a/nova/availability_zones.py +++ b/nova/availability_zones.py @@ -16,8 +16,7 @@ """Availability zone helper functions.""" import collections - -from oslo_config import cfg +import nova.conf from nova import objects from nova.openstack.common import memorycache @@ -27,17 +26,7 @@ from nova.openstack.common import memorycache AZ_CACHE_SECONDS = 60 * 60 MC = None -availability_zone_opts = [ - cfg.StrOpt('internal_service_availability_zone', - default='internal', - help='The availability_zone to show internal services under'), - cfg.StrOpt('default_availability_zone', - default='nova', - help='Default compute node availability_zone'), - ] - -CONF = cfg.CONF -CONF.register_opts(availability_zone_opts) +CONF = nova.conf.CONF def _get_cache(): diff --git a/nova/conf/__init__.py b/nova/conf/__init__.py index c02abb9a3424..ac839043558d 100644 --- a/nova/conf/__init__.py +++ b/nova/conf/__init__.py @@ -21,7 +21,7 @@ from oslo_config import cfg # from nova.conf import api # from nova.conf import api_database -# from nova.conf import availability_zone +from nova.conf import availability_zone # from nova.conf import aws # from nova.conf import barbican # from nova.conf import base @@ -81,7 +81,7 @@ CONF = cfg.CONF # api.register_opts(CONF) # api_database.register_opts(CONF) -# availability_zone.register_opts(CONF) +availability_zone.register_opts(CONF) # aws.register_opts(CONF) # barbican.register_opts(CONF) # base.register_opts(CONF) diff --git a/nova/conf/availability_zone.py b/nova/conf/availability_zone.py new file mode 100644 index 000000000000..3cbaaa7164cf --- /dev/null +++ b/nova/conf/availability_zone.py @@ -0,0 +1,38 @@ +# Copyright (c) 2013 Intel, Inc. +# Copyright (c) 2013 OpenStack Foundation +# 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_config import cfg + +internal_service_availability_zone = cfg.StrOpt( + 'internal_service_availability_zone', + default='internal', + help='The availability_zone to show internal services under') + +default_availability_zone = cfg.StrOpt( + 'default_availability_zone', + default='nova', + help='Default compute node availability_zone') + +ALL_OPTS = [internal_service_availability_zone, + default_availability_zone] + + +def register_opts(conf): + conf.register_opts(ALL_OPTS) + + +def list_opts(): + return {'DEFAULT': ALL_OPTS} diff --git a/nova/opts.py b/nova/opts.py index 09d321ab323e..9093f8fdc158 100644 --- a/nova/opts.py +++ b/nova/opts.py @@ -12,7 +12,6 @@ import itertools -import nova.availability_zones import nova.baserpc import nova.cloudpipe.pipelib import nova.cmd.novnc @@ -68,7 +67,6 @@ def list_opts(): [nova.db.base.db_driver_opt], [nova.ipv6.api.ipv6_backend_opt], [nova.servicegroup.api.servicegroup_driver_opt], - nova.availability_zones.availability_zone_opts, nova.cloudpipe.pipelib.cloudpipe_opts, nova.cmd.novnc.opts, nova.cmd.novncproxy.opts, diff --git a/nova/scheduler/filters/availability_zone_filter.py b/nova/scheduler/filters/availability_zone_filter.py index bbcf1eec3594..58b0e9dd37e7 100644 --- a/nova/scheduler/filters/availability_zone_filter.py +++ b/nova/scheduler/filters/availability_zone_filter.py @@ -13,16 +13,15 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_config import cfg from oslo_log import log as logging +import nova.conf from nova.scheduler import filters from nova.scheduler.filters import utils LOG = logging.getLogger(__name__) -CONF = cfg.CONF -CONF.import_opt('default_availability_zone', 'nova.availability_zones') +CONF = nova.conf.CONF class AvailabilityZoneFilter(filters.BaseHostFilter): diff --git a/nova/tests/unit/test_availability_zones.py b/nova/tests/unit/test_availability_zones.py index a6273c86d1e6..63831a4c2ee3 100644 --- a/nova/tests/unit/test_availability_zones.py +++ b/nova/tests/unit/test_availability_zones.py @@ -18,20 +18,16 @@ Tests for availability zones """ import mock -from oslo_config import cfg import six from nova import availability_zones as az +import nova.conf from nova import context from nova import db from nova import objects from nova import test -CONF = cfg.CONF -CONF.import_opt('internal_service_availability_zone', - 'nova.availability_zones') -CONF.import_opt('default_availability_zone', - 'nova.availability_zones') +CONF = nova.conf.CONF class AvailabilityZoneTestCases(test.TestCase): diff --git a/nova/tests/unit/virt/xenapi/test_xenapi.py b/nova/tests/unit/virt/xenapi/test_xenapi.py index 6e58ea8578e3..6eff69aeb98f 100644 --- a/nova/tests/unit/virt/xenapi/test_xenapi.py +++ b/nova/tests/unit/virt/xenapi/test_xenapi.py @@ -26,7 +26,6 @@ import uuid import mock from mox3 import mox from oslo_concurrency import lockutils -from oslo_config import cfg from oslo_config import fixture as config_fixture from oslo_log import log as logging from oslo_serialization import jsonutils @@ -41,6 +40,7 @@ from nova.compute import power_state from nova.compute import task_states from nova.compute import utils as compute_utils from nova.compute import vm_states +import nova.conf from nova import context from nova import crypto from nova import db @@ -73,12 +73,11 @@ from nova.virt.xenapi import volume_utils LOG = logging.getLogger(__name__) -CONF = cfg.CONF +CONF = nova.conf.CONF CONF.import_opt('compute_manager', 'nova.service') CONF.import_opt('network_manager', 'nova.service') CONF.import_opt('compute_driver', 'nova.virt.driver') CONF.import_opt('host', 'nova.netconf') -CONF.import_opt('default_availability_zone', 'nova.availability_zones') CONF.import_opt('login_timeout', 'nova.virt.xenapi.client.session', group="xenserver")