From 629fb79719fe60d359a7d5f454fdd37a2a4f0287 Mon Sep 17 00:00:00 2001 From: Mathieu Bultel Date: Tue, 7 Nov 2017 17:00:17 +0100 Subject: [PATCH] Do not update the container registry if is None If the variable self.container_registry is None then it will break, we should handle this error. This review is related to the LP: https://bugs.launchpad.net/tripleo/+bug/1730687 Change-Id: I9266e0d143c8caa00cb615d35ac808af168b87f2 Closes-Bug: #1730687 (cherry picked from commit cae27828ec1bf81ef63b1f2b6e167c591c0254bb) --- tripleo_common/actions/package_update.py | 8 ++++++-- tripleo_common/tests/actions/test_package_update.py | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tripleo_common/actions/package_update.py b/tripleo_common/actions/package_update.py index ed7b880f4..4aaa431b4 100644 --- a/tripleo_common/actions/package_update.py +++ b/tripleo_common/actions/package_update.py @@ -76,8 +76,12 @@ class UpdateStackAction(templates.ProcessTemplatesAction): noop_env['resource_registry'].update(role_env) update_env.update(noop_env) template_utils.deep_update(env, update_env) - plan_utils.update_in_env(swift, env, 'parameter_defaults', - self.container_registry['parameter_defaults']) + + # Update parameters + parameters = {} + if self.container_registry is not None: + parameters.update(self.container_registry['parameter_defaults']) + plan_utils.update_in_env(swift, env, 'parameter_defaults', parameters) # process all plan files and create or update a stack processed_data = super(UpdateStackAction, self).run(context) diff --git a/tripleo_common/tests/actions/test_package_update.py b/tripleo_common/tests/actions/test_package_update.py index 69f63f044..ec5677de8 100644 --- a/tripleo_common/tests/actions/test_package_update.py +++ b/tripleo_common/tests/actions/test_package_update.py @@ -99,11 +99,11 @@ class UpdateStackActionTest(base.TestCase): {'OS::TripleO::DeploymentSteps': 'OS::Heat::None'}} mock_getenv.return_value = env - fake_registry = {'parameter_defaults': [ + fake_registry = {'parameter_defaults': {'DockerKeystoneImage': '192.168.24.1:8787/' 'keystone-docker:latest', 'DockerHeatApiImage:': '192.168.24.1:8787/' - 'heat-api-docker:latest'}]} + 'heat-api-docker:latest'}} update_env.update(fake_registry) mock_swift.get_object.return_value = ({}, env) mock_object_client.return_value = mock_swift