diff --git a/tripleo_common/tests/utils/test_plan.py b/tripleo_common/tests/utils/test_plan.py index 8a6a9df9b..b90b211af 100644 --- a/tripleo_common/tests/utils/test_plan.py +++ b/tripleo_common/tests/utils/test_plan.py @@ -907,6 +907,7 @@ class PlanTest(base.TestCase): existing_passwords = _EXISTING_PASSWORDS.copy() existing_passwords.pop("AdminPassword") + existing_passwords.pop("PcsdPassword") swift = mock.MagicMock(url="http://test.com") mock_env = yaml.safe_dump({ @@ -923,6 +924,7 @@ class PlanTest(base.TestCase): mock_orchestration.stacks.environment.return_value = { 'parameter_defaults': { 'AdminPassword': 'ExistingPasswordInHeat', + 'PcsdPassword': 'MyPassword' } } @@ -938,6 +940,7 @@ class PlanTest(base.TestCase): result = plan_utils.generate_passwords(swift, mock_orchestration) existing_passwords["AdminPassword"] = "ExistingPasswordInHeat" + existing_passwords["PcsdPassword"] = "MyPassword" # ensure old passwords used and no new generation self.assertEqual(existing_passwords, result) mock_cache.assert_called_once_with( diff --git a/tripleo_common/utils/plan.py b/tripleo_common/utils/plan.py index 509a084c4..05775005b 100644 --- a/tripleo_common/utils/plan.py +++ b/tripleo_common/utils/plan.py @@ -406,9 +406,10 @@ def generate_passwords(swift, heat, mistral=None, # We don't modify these to avoid changing defaults for pw_res in constants.LEGACY_HEAT_PASSWORD_RESOURCE_NAMES: try: - res = heat.resources.get(container, pw_res) param_defaults = stack_env.get('parameter_defaults', {}) - param_defaults[pw_res] = res.attributes['value'] + if pw_res not in param_defaults: + res = heat.resources.get(container, pw_res) + param_defaults[pw_res] = res.attributes['value'] except heat_exc.HTTPNotFound: LOG.debug('Heat resouce not found: %s' % pw_res) pass