From 87d25a3cdec23c1f6e4274489b4f5e8ff9f0860a Mon Sep 17 00:00:00 2001 From: Saravanan KR Date: Mon, 21 May 2018 15:00:30 +0530 Subject: [PATCH] DeployIdentifier should be provided for any parameter actions DeployIdentifier is update during the deployment workflow in the tripleo_common, but all the parameter update and get workflows, before the depoloyment will fail since the parameter is not provided for the heat stack validation. Adding a dummy entry for the DeployIdentifier in the tripleoclient which will be replaced to a timestamp in the deploy workflow. Closes-Bug: #1759326 Change-Id: I26cc11895a376788d8aad41727676bec73a15d69 (cherry picked from commit 4cb7a225297e804fb00c037904142dea9262475b) --- .../v1/overcloud_deploy/test_overcloud_deploy.py | 11 ++++++++--- tripleoclient/v1/overcloud_deploy.py | 4 ++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py index e580bc118..bf92990ee 100644 --- a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py +++ b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py @@ -159,6 +159,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): 'DeployIdentifier': 123456789, 'UpdateIdentifier': '', 'StackAction': 'UPDATE', + 'DeployIdentifier': '', } def _custom_create_params_env(_self, parameters, tht_root, @@ -277,7 +278,8 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): 'OvercloudControlFlavor': 'oooq_control', 'OvercloudControllerFlavor': 'oooq_control', 'StackAction': 'CREATE', - 'UpdateIdentifier': ''}} + 'UpdateIdentifier': '', + 'DeployIdentifier': ''}} self.cmd.take_action(parsed_args) @@ -429,6 +431,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): 'DeployIdentifier': 123456789, 'UpdateIdentifier': '', 'StackAction': 'CREATE', + 'DeployIdentifier': '', } testcase = self @@ -561,7 +564,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): def _custom_create_params_env(_self, parameters, tht_root, container_name): - testcase.assertTrue('DeployIdentifier' not in parameters) + testcase.assertTrue(parameters['DeployIdentifier'] == '') parameter_defaults = {"parameter_defaults": parameters} return parameter_defaults @@ -1085,7 +1088,8 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): parameters_env = { 'parameter_defaults': { 'StackAction': 'UPDATE', - 'UpdateIdentifier': ''}} + 'UpdateIdentifier': '', + 'DeployIdentifier': ''}} reg_env = { 'parameter_defaults': { 'rhel_reg_activation_key': 'super-awesome-key', @@ -1527,6 +1531,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): 'UpdateIdentifier': '', 'StackAction': 'CREATE', 'NtpServer': 'ntp', + 'DeployIdentifier': '', } def _custom_create_params_env(_self, parameters, tht_root, diff --git a/tripleoclient/v1/overcloud_deploy.py b/tripleoclient/v1/overcloud_deploy.py index 0f2545195..50b9c2225 100644 --- a/tripleoclient/v1/overcloud_deploy.py +++ b/tripleoclient/v1/overcloud_deploy.py @@ -70,6 +70,10 @@ class DeployOvercloud(command.Command): stack_is_new = stack is None + # *Identifier will be update to timestamp value during the deploy + # workflow, but till then for all heat stack validations, we need + # and entry for starting the deploy action. + parameters['DeployIdentifier'] = '' parameters['UpdateIdentifier'] = '' parameters['StackAction'] = 'CREATE' if stack_is_new else 'UPDATE'