]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Fix Parameters
authorAngus Salkeld <asalkeld@redhat.com>
Tue, 13 Mar 2012 11:20:40 +0000 (22:20 +1100)
committerAngus Salkeld <asalkeld@redhat.com>
Tue, 13 Mar 2012 11:20:40 +0000 (22:20 +1100)
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
bin/heat
heat/api/v1/stacks.py
heat/common/client.py

index 17533de0f03e30383633c20b4c684b3e72daac42..dc361449e24700873a7feeca0347894732a1030f 100755 (executable)
--- a/bin/heat
+++ b/bin/heat
@@ -105,9 +105,12 @@ def stack_create(options, arguments):
         return FAILURE
 
     if options.parameters:
+        count=1
         for p in options.parameters.split(';'):
             (n, v) = p.split('=')
-            parameters[n] = v
+            parameters['Parameters.member.%d.ParameterKey' % count] = n
+            parameters['Parameters.member.%d.ParameterValue' % count] = v
+            count = count + 1
 
     if options.template_file:
         parameters['TemplateBody'] = open(options.template_file).read()
@@ -133,6 +136,19 @@ def stack_update(options, arguments):
         print "as the first argument"
         return FAILURE
 
+    if options.template_file:
+        parameters['TemplateBody'] = open(options.template_file).read()
+    elif options.template_url:
+        parameters['TemplateUrl'] = options.template_url
+
+    if options.parameters:
+        count=1
+        for p in options.parameters.split(';'):
+            (n, v) = p.split('=')
+            parameters['Parameters.member.%d.ParameterKey' % count] = n
+            parameters['Parameters.member.%d.ParameterValue' % count] = v
+            count = count + 1
+
     c = get_client(options)
     result = c.update_stack(parameters)
     print json.dumps(result, indent=2)
index 222e2426c8c8932830914b945bbba864a312ae08..909ee31684e71a8f6e247c01164fab9f5370357b 100644 (file)
@@ -69,7 +69,7 @@ class StackController(object):
                     }
                     ]}]}]}
 
+
     def describe(self, req):
 
         return {'stack': [
@@ -77,7 +77,7 @@ class StackController(object):
                  'name': '<stack NAME',
                  'disk_format': '<DISK_FORMAT>',
                  'container_format': '<CONTAINER_FORMAT>' } ] }
+
 
     def create(self, req):
         for p in req.params:
@@ -110,7 +110,7 @@ class StackController(object):
         :raises HttpNotAuthorized if image or any chunk is not
                 deleteable by the requesting user
         """
-    
+
 
 class StackDeserializer(wsgi.JSONRequestDeserializer):
     """Handles deserialization of specific controller method requests."""
index 9c5154dc55e2538cd6525c4ad460ed8eda51e2f7..5a63f3e288fd3c1fc6ae79f82f91269231aaa765 100644 (file)
@@ -581,13 +581,12 @@ class BaseClient(object):
                                reduced to
         :retval subset of 'params' dict
         """
-        #result = {}
+        result = {}
 
-        #for allowed_param in allowed_params:
-        #    if allowed_param in actual_params:
-        #        result[allowed_param] = actual_params[allowed_param]
+        for param in actual_params:
+            if param in allowed_params:
+                result[param] = actual_params[param]
+            elif 'Parameters.member.' in param:
+                result[param] = actual_params[param]
 
-        #return result
-
-        # allow user parameters
-        return actual_params
+        return result