]> xenbits.xensource.com Git - osstest/openstack-nova.git/commitdiff
conf: Remove deprecated service manager opts
authorChangBo Guo(gcb) <eric.guo@easystack.cn>
Sat, 21 May 2016 05:42:28 +0000 (13:42 +0800)
committerChangBo Guo(gcb) <eric.guo@easystack.cn>
Mon, 5 Dec 2016 15:28:49 +0000 (23:28 +0800)
The following service manager config options were deprecated in
13.0.0 and remove them now:

- metadata_manager
- console_manager
- consoleauth_manager
- cert_manager
- scheduler_manager
- conductor.manager

Implements: bp centralize-config-options-ocata

Co-Authored-By: Stephen Finucane <sfinucan@redhat.com>
Change-Id: Ia50d18c350dbc4ca88da9543e1236e3398ea28ee

15 files changed:
nova/cmd/conductor.py
nova/cmd/network.py
nova/conf/conductor.py
nova/conf/service.py
nova/service.py
nova/tests/functional/integrated_helpers.py
nova/tests/functional/notification_sample_tests/notification_sample_base.py
nova/tests/functional/regressions/test_bug_1522536.py
nova/tests/functional/regressions/test_bug_1548980.py
nova/tests/functional/regressions/test_bug_1595962.py
nova/tests/functional/test_compute_mgr.py
nova/tests/functional/test_server_group.py
nova/tests/unit/console/test_console.py
nova/tests/unit/test_baserpc.py
releasenotes/notes/remove_service_manager_config_options-2e1eaae92ea82d84.yaml [new file with mode: 0644]

index 6dc3500a6789eea683c0637c08679c8328d076ab..12e4f71cfbee73e4328845798f8477edb6d69d48 100644 (file)
@@ -40,8 +40,7 @@ def main():
     gmr.TextGuruMeditation.setup_autorun(version)
 
     server = service.Service.create(binary='nova-conductor',
-                                    topic=CONF.conductor.topic,
-                                    manager=CONF.conductor.manager)
+                                    topic=CONF.conductor.topic)
     workers = CONF.conductor.workers or processutils.get_worker_count()
     service.serve(server, workers=workers)
     service.wait()
index 7b57c7e1c8764a2b220ada42e9fc2d8cd4f867ea..e3a0270faaf11c99b2ae3ab0090b6394be976615 100644 (file)
@@ -56,6 +56,7 @@ def main():
     LOG.warning(_LW('Nova network is deprecated and will be removed '
                     'in the future'))
     server = service.Service.create(binary='nova-network',
-                                    topic=CONF.network_topic)
+                                    topic=CONF.network_topic,
+                                    manager=CONF.network_manager)
     service.serve(server)
     service.wait()
index 30633108a8ee322aa53cde294a4531a6e8811daf..6ea97cd79ef9f025f40de3b87db0938d4d8be7de 100644 (file)
@@ -38,16 +38,6 @@ by using this option.
 """,
         help="""
 Topic exchange name on which conductor nodes listen.
-"""),
-    cfg.StrOpt(
-        'manager',
-        default='nova.conductor.manager.ConductorManager',
-        deprecated_for_removal=True,
-        deprecated_since='13.0.0',
-        help="""
-Full class name for the Manager for conductor.
-
-Removal in 14.0
 """),
     cfg.IntOpt(
         'workers',
index d4ae4829e64c6b158090183a1554f08fb6073d44..5b310998dc65d7c3aafcfeeee700fb8380eeeb3e 100644 (file)
@@ -125,11 +125,6 @@ Possible Values:
 * Any positive integer
 * None (default value)
 """),
-    cfg.StrOpt('metadata_manager',
-               default='nova.api.manager.MetadataManager',
-               deprecated_for_removal=True,
-               deprecated_since='13.0.0',
-               help="Full class name for the service metadata manager."),
     cfg.StrOpt('metadata_listen',
                default="0.0.0.0",
                help="""
@@ -169,21 +164,6 @@ Possible Values:
                deprecated_for_removal=True,
                deprecated_since='13.0.0',
                help='Full class name for the Manager for compute'),
-    cfg.StrOpt('console_manager',
-               default='nova.console.manager.ConsoleProxyManager',
-               deprecated_for_removal=True,
-               deprecated_since='13.0.0',
-               help='Full class name for the Manager for console proxy'),
-    cfg.StrOpt('consoleauth_manager',
-               default='nova.consoleauth.manager.ConsoleAuthManager',
-               deprecated_for_removal=True,
-               deprecated_since='13.0.0',
-               help='Full class name for the Manager for console auth'),
-    cfg.StrOpt('cert_manager',
-               default='nova.cert.manager.CertManager',
-               deprecated_for_removal=True,
-               deprecated_since='13.0.0',
-               help='Full class name for the Manager for cert'),
     # NOTE(sdague): the network_manager has a bunch of different in
     # tree classes that are still legit options. In Newton we should
     # turn this into a selector.
@@ -195,11 +175,6 @@ Possible Values:
                ],
                default='nova.network.manager.VlanManager',
                help='Full class name for the Manager for network'),
-    cfg.StrOpt('scheduler_manager',
-               default='nova.scheduler.manager.SchedulerManager',
-               deprecated_for_removal=True,
-               deprecated_since='13.0.0',
-               help='Full class name for the Manager for scheduler'),
     ]
 
 
index 2b7580b38d0466eff53a2503bb533c8cb72ebab5..c03aff2bace44dcdd61ea0d43b86a0b3023a25c5 100644 (file)
@@ -47,6 +47,16 @@ LOG = logging.getLogger(__name__)
 
 CONF = nova.conf.CONF
 
+SERVICE_MANAGERS = {
+    'nova-console': 'nova.console.manager.ConsoleProxyManager',
+    'nova-consoleauth': 'nova.consoleauth.manager.ConsoleAuthManager',
+    'nova-cert': 'nova.cert.manager.CertManager',
+    'nova-conductor': 'nova.conductor.manager.ConductorManager',
+    'nova-metadata': 'nova.api.manager.MetadataManager',
+    'nova-scheduler': 'nova.scheduler.manager.SchedulerManager',
+    'nova-cells': 'nova.cells.manager.CellsManager',
+}
+
 
 def _create_service_ref(this_service, context):
     service = objects.Service(context)
@@ -197,9 +207,11 @@ class Service(service.Service):
         if not topic:
             topic = binary.rpartition('nova-')[2]
         if not manager:
-            manager_cls = ('%s_manager' %
-                           binary.rpartition('nova-')[2])
-            manager = CONF.get(manager_cls, None)
+            manager = SERVICE_MANAGERS.get(binary)
+            if manager is None:
+                manager_cls = ('%s_manager' %
+                               binary.rpartition('nova-')[2])
+                manager = CONF.get(manager_cls, None)
         if report_interval is None:
             report_interval = CONF.report_interval
         if periodic_enable is None:
@@ -330,15 +342,11 @@ class WSGIService(service.Service):
         :returns: a Manager instance, or None.
 
         """
-        fl = '%s_manager' % self.name
-        if fl not in CONF:
-            return None
-
-        manager_class_name = CONF.get(fl, None)
-        if not manager_class_name:
+        manager = SERVICE_MANAGERS.get(self.binary)
+        if manager is None:
             return None
 
-        manager_class = importutils.import_class(manager_class_name)
+        manager_class = importutils.import_class(manager)
         return manager_class()
 
     def start(self):
index a10d8127c2f636a5b01c6941bcb1dd336b380aea..a36d9513158c9ccd7a8604927e7e3f83086c8036 100644 (file)
@@ -94,8 +94,7 @@ class _IntegratedTestBase(test.TestCase):
         return self.start_service('scheduler')
 
     def _setup_services(self):
-        self.conductor = self.start_service('conductor',
-                                            manager=CONF.conductor.manager)
+        self.conductor = self.start_service('conductor')
         self.compute = self._setup_compute_service()
         self.consoleauth = self.start_service('consoleauth')
 
index f82bb6490ae7081b23991af4e6edded5c697ca50..eabe9b220620ac197d7c7c336759fa4bb323dac1 100644 (file)
@@ -74,7 +74,7 @@ class NotificationSampleTestBase(test.TestCase,
         nova.tests.unit.image.fake.stub_out_image_service(self)
         self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
 
-        self.start_service('conductor', manager=CONF.conductor.manager)
+        self.start_service('conductor')
         self.start_service('scheduler')
         self.start_service('network')
         self.compute = self.start_service('compute')
index 966c6c336a3edac160ccd99d021fb24e64b171b5..b208e138a129f1291112b79708bdd5ec5df75328 100644 (file)
@@ -40,7 +40,7 @@ class TestServerGet(test.TestCase):
         # the image fake backend needed for image discovery
         nova.tests.unit.image.fake.stub_out_image_service(self)
 
-        self.start_service('conductor', manager=CONF.conductor.manager)
+        self.start_service('conductor')
         self.flags(driver='chance_scheduler', group='scheduler')
         self.start_service('scheduler')
         self.network = self.start_service('network')
index faedd8baf1a0cd24ba8c62814b6295b639fac86f..d93c023eecfa3b8eaec5f394723d6726f2687653 100644 (file)
@@ -48,7 +48,7 @@ class TestServerGet(test.TestCase):
         # the image fake backend needed for image discovery
         nova.tests.unit.image.fake.stub_out_image_service(self)
 
-        self.start_service('conductor', manager=CONF.conductor.manager)
+        self.start_service('conductor')
         self.flags(driver='chance_scheduler', group='scheduler')
         self.start_service('scheduler')
         self.network = self.start_service('network')
index beb6db2d59b6f36b96d129dc5fd27e4ea8f61fa0..d7a9c7a0d5e6e530ea769909bac8919c0e2bc4ef 100644 (file)
@@ -67,7 +67,7 @@ class TestSerialConsoleLiveMigrate(test.TestCase):
         self.flags(use_usb_tablet=False, group="libvirt")
         self.flags(host="test_compute1")
 
-        self.start_service('conductor', manager=CONF.conductor.manager)
+        self.start_service('conductor')
         self.flags(driver='chance_scheduler', group='scheduler')
         self.start_service('scheduler')
         self.network = self.start_service('network')
index e99f5754abc2ed97b63fbb1804cb73b3b439613f..155f582f39deca262e15bfcc9edcce240ebd779b 100644 (file)
@@ -30,8 +30,7 @@ class ComputeManagerTestCase(test.TestCase):
         super(ComputeManagerTestCase, self).setUp()
         self.useFixture(fixtures.SpawnIsSynchronousFixture())
         self.useFixture(cast_as_call.CastAsCall(self.stubs))
-        self.conductor = self.start_service('conductor',
-                                            manager=CONF.conductor.manager)
+        self.conductor = self.start_service('conductor')
         self.start_service('scheduler')
         self.compute = self.start_service('compute')
         self.context = context.RequestContext('fake', 'fake')
index 8993810b044301b06234c53e35fe0c67cc9fc2f6..eaa6c3bd1255b83da5ae953cbe829ff1517616f6 100644 (file)
@@ -82,7 +82,7 @@ class ServerGroupTestBase(test.TestCase,
         # the image fake backend needed for image discovery
         nova.tests.unit.image.fake.stub_out_image_service(self)
 
-        self.start_service('conductor', manager=CONF.conductor.manager)
+        self.start_service('conductor')
         self.start_service('scheduler')
 
         self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
index ce48a3ba25a5c70a12fd6bee3783aefd73e4dd9d..ff522153e5719faabed19179c4b3c413beab6444 100644 (file)
 """Tests For Console proxy."""
 
 import mock
-from oslo_utils import importutils
 
 from nova.compute import rpcapi as compute_rpcapi
 import nova.conf
 from nova.console import api as console_api
+from nova.console import manager as console_manager
 from nova import context
 from nova import db
 from nova import exception
@@ -37,7 +37,7 @@ class ConsoleTestCase(test.TestCase):
     def setUp(self):
         super(ConsoleTestCase, self).setUp()
         self.flags(console_driver='nova.console.fake.FakeConsoleProxy')
-        self.console = importutils.import_object(CONF.console_manager)
+        self.console = console_manager.ConsoleProxyManager()
         self.user_id = 'fake'
         self.project_id = 'fake'
         self.context = context.RequestContext(self.user_id, self.project_id)
index 5fd06640989fe318c7d03d22c802f197bbc12ef9..44e45b1aec9958855826b7eb0d211c9a0376d649 100644 (file)
@@ -34,8 +34,7 @@ class BaseAPITestCase(test.TestCase):
         self.project_id = 'fake'
         self.context = context.RequestContext(self.user_id,
                                               self.project_id)
-        self.conductor = self.start_service(
-            'conductor', manager=CONF.conductor.manager)
+        self.conductor = self.start_service('conductor')
         self.compute = self.start_service('compute')
         self.base_rpcapi = baserpc.BaseAPI(CONF.compute_topic)
 
diff --git a/releasenotes/notes/remove_service_manager_config_options-2e1eaae92ea82d84.yaml b/releasenotes/notes/remove_service_manager_config_options-2e1eaae92ea82d84.yaml
new file mode 100644 (file)
index 0000000..0c00038
--- /dev/null
@@ -0,0 +1,14 @@
+---
+upgrade:
+  - |
+    The concept that ``service manager`` were replaceable
+    components was deprecated in Mitaka, so following config
+    options are removed.
+
+    - ``metadata_manager``
+    - ``console_manager``
+    - ``consoleauth_manager``
+    - ``cert_manager``
+    - ``scheduler_manager``
+    - ``conductor.manager``
+