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 <shardy@redhat.com>
This commit is contained in:
Steven Hardy
2012-09-17 10:59:56 +01:00
parent fdbd64dd2d
commit c53b4fb733
4 changed files with 20 additions and 19 deletions

View File

@@ -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)

View File

@@ -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,

View File

@@ -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

View File

@@ -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',