From 1aef468ec819802bee3cf43f4eeb1fa52c5b01c8 Mon Sep 17 00:00:00 2001 From: Ann Taraday Date: Fri, 10 Jul 2020 13:40:46 +0400 Subject: [PATCH] Alias change amphorav2 -> amphora Co-Authored-By: Gregory Thiemonge Change-Id: Ica759236f395c7bec28c794d2f1df5e0b690939a --- octavia/api/v2/controllers/amphora.py | 16 ++++++++-------- octavia/common/constants.py | 1 + .../controller/healthmanager/health_manager.py | 6 +++--- octavia/controller/housekeeping/house_keeping.py | 6 +++--- octavia/controller/queue/v2/consumer.py | 11 +++++------ .../housekeeping/test_house_keeping.py | 12 ++++++------ ...efault-amphora-provider-7e17f90d7d4b2ee7.yaml | 8 ++++++++ setup.cfg | 7 ++++--- 8 files changed, 38 insertions(+), 29 deletions(-) create mode 100644 releasenotes/notes/switch-default-amphora-provider-7e17f90d7d4b2ee7.yaml diff --git a/octavia/api/v2/controllers/amphora.py b/octavia/api/v2/controllers/amphora.py index 03d41ce35f..22d4d726f4 100644 --- a/octavia/api/v2/controllers/amphora.py +++ b/octavia/api/v2/controllers/amphora.py @@ -124,12 +124,12 @@ class FailoverController(base.BaseController): def __init__(self, amp_id): super().__init__() - if CONF.api_settings.default_provider_driver == constants.AMPHORAV2: - topic = constants.TOPIC_AMPHORA_V2 - version = "2.0" - else: + if CONF.api_settings.default_provider_driver == constants.AMPHORAV1: topic = cfg.CONF.oslo_messaging.topic version = "1.0" + else: + topic = constants.TOPIC_AMPHORA_V2 + version = "2.0" self.target = messaging.Target( namespace=constants.RPC_NAMESPACE_CONTROLLER_AGENT, topic=topic, version=version, fanout=False) @@ -170,12 +170,12 @@ class AmphoraUpdateController(base.BaseController): def __init__(self, amp_id): super().__init__() - if CONF.api_settings.default_provider_driver == constants.AMPHORAV2: - topic = constants.TOPIC_AMPHORA_V2 - version = "2.0" - else: + if CONF.api_settings.default_provider_driver == constants.AMPHORAV1: topic = cfg.CONF.oslo_messaging.topic version = "1.0" + else: + topic = constants.TOPIC_AMPHORA_V2 + version = "2.0" self.transport = messaging.get_rpc_transport(cfg.CONF) self.target = messaging.Target( namespace=constants.RPC_NAMESPACE_CONTROLLER_AGENT, diff --git a/octavia/common/constants.py b/octavia/common/constants.py index 7997c003ea..9e744b80e4 100644 --- a/octavia/common/constants.py +++ b/octavia/common/constants.py @@ -783,6 +783,7 @@ RBAC_ROLES_DEPRECATED_REASON = ( # PROVIDERS OCTAVIA = 'octavia' AMPHORAV2 = 'amphorav2' +AMPHORAV1 = 'amphorav1' # systemctl commands DISABLE = 'disable' diff --git a/octavia/controller/healthmanager/health_manager.py b/octavia/controller/healthmanager/health_manager.py index 4c50f7b232..2a9a95df20 100644 --- a/octavia/controller/healthmanager/health_manager.py +++ b/octavia/controller/healthmanager/health_manager.py @@ -58,10 +58,10 @@ def update_stats_on_done(stats, fut): class HealthManager(object): def __init__(self, exit_event): - if CONF.api_settings.default_provider_driver == constants.AMPHORAV2: - self.cw = cw2.ControllerWorker() - else: + if CONF.api_settings.default_provider_driver == constants.AMPHORAV1: self.cw = cw1.ControllerWorker() + else: + self.cw = cw2.ControllerWorker() self.threads = CONF.health_manager.failover_threads # pylint: disable=consider-using-with self.executor = futures.ThreadPoolExecutor(max_workers=self.threads) diff --git a/octavia/controller/housekeeping/house_keeping.py b/octavia/controller/housekeeping/house_keeping.py index 6fe4c26219..ce94ce2c88 100644 --- a/octavia/controller/housekeeping/house_keeping.py +++ b/octavia/controller/housekeeping/house_keeping.py @@ -78,10 +78,10 @@ class DatabaseCleanup(object): class CertRotation(object): def __init__(self): self.threads = CONF.house_keeping.cert_rotate_threads - if CONF.api_settings.default_provider_driver == constants.AMPHORAV2: - self.cw = cw2.ControllerWorker() - else: + if CONF.api_settings.default_provider_driver == constants.AMPHORAV1: self.cw = cw1.ControllerWorker() + else: + self.cw = cw2.ControllerWorker() def rotate(self): """Check the amphora db table for expiring auth certs.""" diff --git a/octavia/controller/queue/v2/consumer.py b/octavia/controller/queue/v2/consumer.py index 35ca9b6af9..ba45df77e1 100644 --- a/octavia/controller/queue/v2/consumer.py +++ b/octavia/controller/queue/v2/consumer.py @@ -50,12 +50,11 @@ class ConsumerService(cotyledon.Service): access_policy=self.access_policy ) self.message_listener.start() - if constants.AMPHORAV2 in CONF.api_settings.enabled_provider_drivers: - if CONF.task_flow.jobboard_enabled: - for e in self.endpoints: - e.worker.services_controller.run_conductor( - 'octavia-task-flow-conductor-%s' % - uuidutils.generate_uuid()) + if CONF.task_flow.jobboard_enabled: + for e in self.endpoints: + e.worker.services_controller.run_conductor( + 'octavia-task-flow-conductor-%s' % + uuidutils.generate_uuid()) def terminate(self): if self.message_listener: diff --git a/octavia/tests/unit/controller/housekeeping/test_house_keeping.py b/octavia/tests/unit/controller/housekeeping/test_house_keeping.py index 6d39ee9250..3a10713ae4 100644 --- a/octavia/tests/unit/controller/housekeeping/test_house_keeping.py +++ b/octavia/tests/unit/controller/housekeeping/test_house_keeping.py @@ -168,7 +168,7 @@ class TestCertRotation(base.TestCase): amp_cert_mock ): self.CONF.config(group="api_settings", - default_provider_driver='amphora') + default_provider_driver='amphorav1') amphora = mock.MagicMock() amphora.id = AMPHORA_ID @@ -190,7 +190,7 @@ class TestCertRotation(base.TestCase): amp_cert_mock ): self.CONF.config(group="api_settings", - default_provider_driver='amphora') + default_provider_driver='amphorav1') amphora = mock.MagicMock() amphora.id = AMPHORA_ID @@ -211,7 +211,7 @@ class TestCertRotation(base.TestCase): cert_exp_amp_mock, amp_cert_mock): self.CONF.config(group="api_settings", - default_provider_driver='amphora') + default_provider_driver='amphorav1') session.return_value = session cert_exp_amp_mock.return_value = None @@ -227,7 +227,7 @@ class TestCertRotation(base.TestCase): def test_cert_rotation_expired_amphora_with_exception_amphorav2( self, session, cert_exp_amp_mock, amp_cert_mock): self.CONF.config(group="api_settings", - default_provider_driver='amphorav2') + default_provider_driver='amphora') amphora = mock.MagicMock() amphora.id = AMPHORA_ID @@ -248,7 +248,7 @@ class TestCertRotation(base.TestCase): def test_cert_rotation_expired_amphora_without_exception_amphorav2( self, session, cert_exp_amp_mock, amp_cert_mock): self.CONF.config(group="api_settings", - default_provider_driver='amphorav2') + default_provider_driver='amphora') amphora = mock.MagicMock() amphora.id = AMPHORA_ID @@ -268,7 +268,7 @@ class TestCertRotation(base.TestCase): def test_cert_rotation_non_expired_amphora_amphorav2( self, session, cert_exp_amp_mock, amp_cert_mock): self.CONF.config(group="api_settings", - default_provider_driver='amphorav2') + default_provider_driver='amphora') session.return_value = session cert_exp_amp_mock.return_value = None cr = house_keeping.CertRotation() diff --git a/releasenotes/notes/switch-default-amphora-provider-7e17f90d7d4b2ee7.yaml b/releasenotes/notes/switch-default-amphora-provider-7e17f90d7d4b2ee7.yaml new file mode 100644 index 0000000000..caa2f3bca1 --- /dev/null +++ b/releasenotes/notes/switch-default-amphora-provider-7e17f90d7d4b2ee7.yaml @@ -0,0 +1,8 @@ +--- +features: + - | + AmphoraV2 provider that was intoduced in earier releases now is default + Amphora provider for Octavia. Alias `amphorav1` is available for previous + version of Amphora provider. Alias `amphorav2` is now the same as + `amphora`. By default, jobboard (usage persistence storage) is not + enabled, configurable via `jobboard_enabled` option in `task_flow` section. \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 2d4e39d94f..879e578e32 100644 --- a/setup.cfg +++ b/setup.cfg @@ -56,10 +56,11 @@ console_scripts = octavia.api.drivers = noop_driver = octavia.api.drivers.noop_driver.driver:NoopProviderDriver noop_driver-alt = octavia.api.drivers.noop_driver.driver:NoopProviderDriver - amphora = octavia.api.drivers.amphora_driver.v1.driver:AmphoraProviderDriver - # octavia is an alias for backward compatibility - octavia = octavia.api.drivers.amphora_driver.v1.driver:AmphoraProviderDriver + amphora = octavia.api.drivers.amphora_driver.v2.driver:AmphoraProviderDriver amphorav2 = octavia.api.drivers.amphora_driver.v2.driver:AmphoraProviderDriver + # octavia is an alias for backward compatibility + octavia = octavia.api.drivers.amphora_driver.v2.driver:AmphoraProviderDriver + amphorav1 = octavia.api.drivers.amphora_driver.v1.driver:AmphoraProviderDriver octavia.amphora.drivers = amphora_noop_driver = octavia.amphorae.drivers.noop_driver.driver:NoopAmphoraLoadBalancerDriver amphora_haproxy_rest_driver = octavia.amphorae.drivers.haproxy.rest_api_driver:HaproxyAmphoraLoadBalancerDriver