]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Update run-parser to work with proper user parameters as sent through the apis
authorSteven Dake <sdake@redhat.com>
Wed, 28 Mar 2012 20:51:35 +0000 (13:51 -0700)
committerSteven Dake <sdake@redhat.com>
Wed, 28 Mar 2012 20:53:31 +0000 (13:53 -0700)
Fixes Issue #42

Signed-off-by: Steven Dake <sdake@redhat.com>
bin/run-parser.py

index 5e96bb81882eaf87d8ea9477b4d86e318a6d7301..aa13173ec96c2238f15ea649e9f3cd83282e8f6c 100755 (executable)
@@ -12,34 +12,40 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')):
 
 from heat.engine import parser
 
+parameter_count = 1
 
-def setparam(t, key, value):
-    if not t.has_key('Parameters'):
-        t['Parameters'] = {}
 
-    if not t['Parameters'].has_key(key):
-        t['Parameters'][key] = {}
+def setparam(t, key, value):
+    global parameter_count
+    key_name = 'Parameters.member.%d.ParameterKey' % parameter_count
+    value_name = 'Parameters.member.%d.ParameterValue' % parameter_count
+    print 'key_name %s' % key_name
 
-    t['Parameters'][key]['Value'] = value
+    t[key_name] = key
+    t[value_name] = value
+    parameter_count += 1
 
 
 filename = sys.argv[1]
 with open(filename) as f:
-    blob = json.load(f)
+    json_blob = json.load(f)
 
     (stack_name, tmp) = os.path.splitext(os.path.basename(filename))
-    setparam(blob, 'AWS::StackName', stack_name)
+
+    params_dict = {}
+    setparam(params_dict, 'AWS::StackName', stack_name)
 
 # Don't immediately see a way to have key name as a parameter and also
 # file injection and monitoring
 # need to insert key on creation and know what private key is
-    setparam(blob, 'KeyName', '309842309484') # <- that gets inserted into image
+    setparam(params_dict, 'KeyName', '309842309484') # <- that gets inserted into image
 
-    setparam(blob, 'InstanceType', 't1.micro')
-    setparam(blob, 'DBUsername', 'eddie.jones')
-    setparam(blob, 'DBPassword', 'adm1n')
-    setparam(blob, 'DBRootPassword', 'admone')
-    setparam(blob, 'LinuxDistribution', 'F16')
+    setparam(params_dict, 'AWS::StackName', stack_name)
+    setparam(params_dict, 'InstanceType', 't1.micro')
+    setparam(params_dict, 'DBUsername', 'eddie.jones')
+    setparam(params_dict, 'DBPassword', 'adm1n')
+    setparam(params_dict, 'DBRootPassword', 'admone')
+    setparam(params_dict, 'LinuxDistribution', 'F16')
 
-    stack = parser.Stack(stack_name, blob)
+    stack = parser.Stack(stack_name, json_blob, params_dict)
     stack.start()