From: Steven Hardy Date: Mon, 17 Sep 2012 09:59:56 +0000 (+0100) Subject: heat : Show user parameter values in heat describe X-Git-Tag: 2014.1~1403 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=c53b4fb733407c92f076faae6629a608aa3f26a2;p=openstack-build%2Fheat-build.git heat : Show user parameter values in heat describe Return an agregate set of stack parameters via heat describe and underlying engine show_stack call, so we see the template parameters, and any user-overridden values (ie don't just show the template defaults, which is not really very useful) Fixes #238 Change-Id: Ia2cc3271f0dcf8c986e968bc21775d31ecbe6228 Signed-off-by: Steven Hardy --- diff --git a/heat/api/v1/stacks.py b/heat/api/v1/stacks.py index 8ca455e8..7e280efd 100644 --- a/heat/api/v1/stacks.py +++ b/heat/api/v1/stacks.py @@ -184,7 +184,7 @@ class StackController(object): # This is a list-of-dict with nasty "ParameterKey" : key # "ParameterValue" : value format. result['Parameters'] = [{'ParameterKey':k, - 'ParameterValue':v.get('Default')} + 'ParameterValue':v} for (k, v) in result['Parameters'].items()] return self._stackid_format(result) diff --git a/heat/engine/api.py b/heat/engine/api.py index 271e908c..ca9c9a2c 100644 --- a/heat/engine/api.py +++ b/heat/engine/api.py @@ -93,7 +93,7 @@ def format_stack(stack): STACK_CREATION_TIME: timeutils.isotime(stack.created_time), STACK_UPDATED_TIME: timeutils.isotime(stack.updated_time), STACK_NOTIFICATION_TOPICS: [], # TODO Not implemented yet - STACK_PARAMETERS: stack.t[parser.PARAMETERS], + STACK_PARAMETERS: dict(stack.parameters), STACK_DESCRIPTION: stack.t[parser.DESCRIPTION], STACK_TMPL_DESCRIPTION: stack.t[parser.DESCRIPTION], STACK_STATUS: stack.state, diff --git a/heat/tests/functional/test_CFN_API_Actions.py b/heat/tests/functional/test_CFN_API_Actions.py index eeb5d1c7..cf4ba987 100644 --- a/heat/tests/functional/test_CFN_API_Actions.py +++ b/heat/tests/functional/test_CFN_API_Actions.py @@ -174,12 +174,13 @@ class CfnApiFunctionalTest(unittest.TestCase): self.assertEqual(disable_rollback, self.stack_disable_rollback) # Create a dict to lookup the expected template parameters - template_parameters = {'DBUsername': 'admin', - 'LinuxDistribution': 'F16', - 'InstanceType': 'm1.large', + template_parameters = {'DBUsername': 'dbuser', + 'LinuxDistribution': 'F17', + 'InstanceType': 'm1.xlarge', 'DBRootPassword': 'admin', - 'KeyName': 'None', - 'DBPassword': 'admin', + 'KeyName': self.stack.keyname, + 'DBPassword': + os.environ['OS_PASSWORD'], 'DBName': 'wordpress'} # We do a fully qualified xpath lookup to extract the paramter diff --git a/heat/tests/test_api_cfn_v1.py b/heat/tests/test_api_cfn_v1.py index 122679ea..1ff2c0e2 100644 --- a/heat/tests/test_api_cfn_v1.py +++ b/heat/tests/test_api_cfn_v1.py @@ -171,12 +171,12 @@ class StackControllerTest(unittest.TestCase): u'path': u''}, u'updated_time': u'2012-07-09T09:13:11Z', u'parameters':{ - u'DBUsername': {u'Default': u'admin'}, - u'LinuxDistribution': {u'Default': u'F16'}, - u'InstanceType': {u'Default': u'm1.large'}, - u'DBRootPassword': {u'Default': u'admin'}, - u'DBPassword': {u'Default': u'admin'}, - u'DBName': {u'Default': u'wordpress'}}, + u'DBUsername': u'admin', + u'LinuxDistribution': u'F16', + u'InstanceType': u'm1.large', + u'DBRootPassword': u'admin', + u'DBPassword': u'admin', + u'DBName': u'wordpress'}, u'outputs': [{u'output_key': u'WebsiteURL', u'description': u'URL for Wordpress wiki', @@ -257,12 +257,12 @@ class StackControllerTest(unittest.TestCase): u'path': u''}, u'updated_time': u'2012-07-09T09:13:11Z', u'parameters':{ - u'DBUsername': {u'Default': u'admin'}, - u'LinuxDistribution': {u'Default': u'F16'}, - u'InstanceType': {u'Default': u'm1.large'}, - u'DBRootPassword': {u'Default': u'admin'}, - u'DBPassword': {u'Default': u'admin'}, - u'DBName': {u'Default': u'wordpress'}}, + u'DBUsername': u'admin', + u'LinuxDistribution': u'F16', + u'InstanceType': u'm1.large', + u'DBRootPassword': u'admin', + u'DBPassword': u'admin', + u'DBName': u'wordpress'}, u'outputs': [{u'output_key': u'WebsiteURL', u'description': u'URL for Wordpress wiki',