From a139d4362586e5514c8332f7b40b3b1056b9a8ea Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 22 Sep 2020 11:10:56 -0400 Subject: [PATCH] Add new toggle to disable Swift We're working on an effort to remove Swift on the Undercloud. This patch will help us to easily control if whether or not we want Swift deployed on the Undercloud. Change-Id: Ia58efb14803d54ca297218a58208c39c31641403 --- tripleoclient/config/standalone.py | 11 ++++++++--- tripleoclient/config/undercloud.py | 1 + tripleoclient/tests/config/test_config_standalone.py | 4 ++++ tripleoclient/tests/config/test_config_undercloud.py | 2 ++ tripleoclient/v1/undercloud_config.py | 4 ++++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tripleoclient/config/standalone.py b/tripleoclient/config/standalone.py index c1a6ca7f1..53a8e19b2 100644 --- a/tripleoclient/config/standalone.py +++ b/tripleoclient/config/standalone.py @@ -52,9 +52,9 @@ class StandaloneConfig(BaseConfig): def get_enable_service_opts(self, cinder=False, ironic=False, ironic_inspector=False, mistral=False, - nova=False, novajoin=False, tempest=False, - telemetry=False, validations=False, - zaqar=False): + nova=False, novajoin=False, swift=False, + tempest=False, telemetry=False, + validations=False, zaqar=False): _opts = [ # service enablement cfg.BoolOpt('enable_cinder', @@ -81,6 +81,11 @@ class StandaloneConfig(BaseConfig): help=_('Whether to install novajoin metadata service ' 'in the Undercloud.') ), + cfg.BoolOpt('enable_swift', + default=swift, + help=_('Whether to install Swift services in the ' + 'Undercloud.') + ), cfg.BoolOpt('enable_tempest', default=tempest, help=_('Whether to install Tempest in the Undercloud.' diff --git a/tripleoclient/config/undercloud.py b/tripleoclient/config/undercloud.py index b6b276236..cdcff3d42 100644 --- a/tripleoclient/config/undercloud.py +++ b/tripleoclient/config/undercloud.py @@ -77,6 +77,7 @@ class UndercloudConfig(StandaloneConfig): mistral=True, nova=False, novajoin=False, + swift=True, tempest=True, telemetry=False, validations=True, diff --git a/tripleoclient/tests/config/test_config_standalone.py b/tripleoclient/tests/config/test_config_standalone.py index e1985585b..3f022c38f 100644 --- a/tripleoclient/tests/config/test_config_standalone.py +++ b/tripleoclient/tests/config/test_config_standalone.py @@ -51,6 +51,7 @@ class TestStandaloneConfig(base.TestCase): 'enable_mistral', 'enable_nova', 'enable_novajoin', + 'enable_swift', 'enable_telemetry', 'enable_tempest', 'enable_validations', @@ -66,6 +67,7 @@ class TestStandaloneConfig(base.TestCase): mistral=True, nova=True, novajoin=True, + swift=True, telemetry=True, tempest=True, validations=True, @@ -76,6 +78,7 @@ class TestStandaloneConfig(base.TestCase): 'enable_mistral', 'enable_nova', 'enable_novajoin', + 'enable_swift', 'enable_telemetry', 'enable_tempest', 'enable_validations', @@ -100,6 +103,7 @@ class TestStandaloneConfig(base.TestCase): 'enable_mistral', 'enable_nova', 'enable_novajoin', + 'enable_swift', 'enable_telemetry', 'enable_tempest', 'enable_validations', diff --git a/tripleoclient/tests/config/test_config_undercloud.py b/tripleoclient/tests/config/test_config_undercloud.py index 84ca34002..1b040c866 100644 --- a/tripleoclient/tests/config/test_config_undercloud.py +++ b/tripleoclient/tests/config/test_config_undercloud.py @@ -104,6 +104,7 @@ class TestUndercloudConfig(base.TestCase): 'enable_nova', 'enable_novajoin', 'enable_routed_networks', + 'enable_swift', 'enable_swift_encryption', 'enable_telemetry', 'enable_tempest', @@ -175,6 +176,7 @@ class TestUndercloudConfig(base.TestCase): 'enable_nova': False, 'enable_novajoin': False, 'enable_telemetry': False, + 'enable_swift': True, 'enable_tempest': True, 'enable_validations': True, 'enable_zaqar': True} diff --git a/tripleoclient/v1/undercloud_config.py b/tripleoclient/v1/undercloud_config.py index 97bfa237f..aec88106a 100644 --- a/tripleoclient/v1/undercloud_config.py +++ b/tripleoclient/v1/undercloud_config.py @@ -631,6 +631,10 @@ def prepare_undercloud_deploy(upgrade=False, no_validations=True, deploy_args += ['-e', os.path.join( tht_templates, "environments/services/zaqar-swift-backend.yaml")] + if not CONF.get('enable_swift'): + deploy_args += ['-e', os.path.join( + tht_templates, "environments/disable-swift.yaml")] + if CONF.get('enable_telemetry'): for env_file in TELEMETRY_DOCKER_ENV_YAML: deploy_args += ['-e', os.path.join(tht_templates, env_file)]