8d372fcb16
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
66 lines
2.1 KiB
Python
Executable File
66 lines
2.1 KiB
Python
Executable File
#!/usr/bin/python
|
|
|
|
import gettext
|
|
import sys
|
|
import os.path
|
|
import json
|
|
|
|
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
|
|
os.pardir,
|
|
os.pardir))
|
|
if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')):
|
|
sys.path.insert(0, possible_topdir)
|
|
|
|
gettext.install('heat', unicode=1)
|
|
|
|
from heat.engine import parser
|
|
|
|
parameter_count = 1
|
|
|
|
|
|
def setparam(t, key, value):
|
|
global parameter_count
|
|
key_name = 'Parameters.member.%d.ParameterKey' % parameter_count
|
|
value_name = 'Parameters.member.%d.ParameterValue' % parameter_count
|
|
|
|
t[key_name] = key
|
|
t[value_name] = value
|
|
parameter_count += 1
|
|
|
|
|
|
filename = sys.argv[1]
|
|
with open(filename) as f:
|
|
json_blob = json.load(f)
|
|
|
|
(stack_name, tmp) = os.path.splitext(os.path.basename(filename))
|
|
|
|
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(params_dict, 'KeyName', 'sdake_key') # <- that gets inserted into image
|
|
|
|
setparam(params_dict, 'AWS::StackName', stack_name)
|
|
setparam(params_dict, 'InstanceType', 'm1.xlarge')
|
|
setparam(params_dict, 'DBUsername', 'eddie.jones')
|
|
setparam(params_dict, 'DBPassword', 'adm1n')
|
|
setparam(params_dict, 'DBRootPassword', 'admone')
|
|
setparam(params_dict, 'LinuxDistribution', 'F16')
|
|
|
|
# set the keystone auth environs up
|
|
username = os.environ['OS_USERNAME']
|
|
password = os.environ['OS_PASSWORD']
|
|
tenant = os.environ['OS_TENANT_NAME']
|
|
auth_url = os.environ['OS_AUTH_URL']
|
|
|
|
params_dict['KeyStoneCreds'] = dict(username=username,
|
|
password=password,
|
|
tenant=tenant,
|
|
auth_url=auth_url,
|
|
strategy='keystone')
|
|
|
|
stack = parser.Stack(stack_name, json_blob, params_dict)
|
|
stack.start()
|