self.assertTrue(ver.verify_wordpress(stack_url))
def testListStacks(self):
- client = self.stack.get_heat_client()
- response = client.list_stacks()
+ response = self.stack.heatclient.list_stacks()
prefix = '/ListStacksResponse/ListStacksResult/StackSummaries/member'
stack_id = self.stack.response_xml_item(response, prefix, "StackId")
print "ListStacks : OK"
def testDescribeStacks(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.describe_stacks(**parameters)
+ response = self.stack.heatclient.describe_stacks(**parameters)
prefix = '/DescribeStacksResponse/DescribeStacksResult/Stacks/member'
stack_id = self.stack.response_xml_item(response, prefix, "StackId")
print "DescribeStacks : OK"
def testDescribeStackEvents(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.list_stack_events(**parameters)
+ response = self.stack.heatclient.list_stack_events(**parameters)
prefix = '/DescribeStackEventsResponse/DescribeStackEventsResult/' +\
'StackEvents/member[LogicalResourceId="' +\
self.logical_resource_name + '" and ResourceStatus="' +\
print "DescribeStackEvents : OK"
def testGetTemplate(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.get_template(**parameters)
+ response = self.stack.heatclient.get_template(**parameters)
prefix = '/GetTemplateResponse/GetTemplateResult'
# Extract the JSON TemplateBody and prove it parses
print "GetTemplate : OK"
def testDescribeStackResource(self):
- client = self.stack.get_heat_client()
parameters = {'StackName': self.stack.stackname,
'LogicalResourceId': self.logical_resource_name}
- response = client.describe_stack_resource(**parameters)
+ response = self.stack.heatclient.describe_stack_resource(**parameters)
prefix = '/DescribeStackResourceResponse/DescribeStackResourceResult'\
+ '/StackResourceDetail'
print "DescribeStackResource : OK"
def testDescribeStackResources(self):
- client = self.stack.get_heat_client()
parameters = {'NameOrPid': self.stack.stackname,
'LogicalResourceId': self.logical_resource_name}
- response = client.describe_stack_resources(**parameters)
+ response = self.stack.heatclient.describe_stack_resources(**parameters)
prefix = '/DescribeStackResourcesResponse/' +\
'DescribeStackResourcesResult/StackResources/member'
print "DescribeStackResources : OK"
def testListStackResources(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.list_stack_resources(**parameters)
+ response = self.stack.heatclient.list_stack_resources(**parameters)
prefix = '/ListStackResourcesResponse/ListStackResourcesResult' +\
'/StackResourceSummaries/member'
print "ListStackResources : OK"
def testValidateTemplate(self):
- client = self.stack.get_heat_client()
# Use stack.format_parameters to get the TemplateBody
params = self.stack.format_parameters()
val_params = {'TemplateBody': params['TemplateBody']}
- response = client.validate_template(**val_params)
+ response = self.stack.heatclient.validate_template(**val_params)
prefix = '/ValidateTemplateResponse/ValidateTemplateResult' +\
'/Parameters/member'
# Check the response contains all the expected paramter keys
self.assertTrue(ver.verify_wordpress(stack_url))
def testListStacks(self):
- client = self.stack.get_heat_client()
- response = client.list_stacks()
+ response = self.stack.heatclient.list_stacks()
prefix = '/ListStacksResponse/ListStacksResult/StackSummaries/member'
# Extract the StackSummary for this stack
print "ListStacks : OK"
def testDescribeStacks(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.describe_stacks(**parameters)
+ response = self.stack.heatclient.describe_stacks(**parameters)
# Extract the Stack object for this stack
stacks = [s for s in response
print "DescribeStacks : OK"
def testDescribeStackEvents(self):
-
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.list_stack_events(**parameters)
+ response = self.stack.heatclient.list_stack_events(**parameters)
events = [e for e in response
if e.logical_resource_id == self.logical_resource_name
and e.resource_status == self.logical_resource_status]
print "DescribeStackEvents : OK"
def testGetTemplate(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.get_template(**parameters)
+ response = self.stack.heatclient.get_template(**parameters)
self.assertTrue(response != None)
result = response['GetTemplateResponse']['GetTemplateResult']
print "GetTemplate : OK"
def testDescribeStackResource(self):
- client = self.stack.get_heat_client()
parameters = {'StackName': self.stack.stackname,
'LogicalResourceId': self.logical_resource_name}
- response = client.describe_stack_resource(**parameters)
+ response = self.stack.heatclient.describe_stack_resource(**parameters)
# Note boto_client response for this is a dict, if upstream
# pull request ever gets merged, this will change, see note/
print "DescribeStackResource : OK"
def testDescribeStackResources(self):
- client = self.stack.get_heat_client()
parameters = {'NameOrPid': self.stack.stackname,
'LogicalResourceId': self.logical_resource_name}
- response = client.describe_stack_resources(**parameters)
+ response = self.stack.heatclient.describe_stack_resources(**parameters)
self.assertEqual(len(response), 1)
res = response[0]
print "DescribeStackResources : OK"
def testListStackResources(self):
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.list_stack_resources(**parameters)
+ response = self.stack.heatclient.list_stack_resources(**parameters)
self.assertEqual(len(response), 1)
res = response[0]
print "ListStackResources : OK"
def testValidateTemplate(self):
- client = self.stack.get_heat_client()
# Use stack.format_parameters to get the TemplateBody
params = self.stack.format_parameters()
val_params = {'TemplateBody': params['TemplateBody']}
- response = client.validate_template(**val_params)
+ response = self.stack.heatclient.validate_template(**val_params)
# Check the response contains all the expected paramter keys
templ_params = ['DBUsername', 'LinuxDistribution', 'InstanceType',
'DBRootPassword', 'KeyName', 'DBPassword', 'DBName']
self.assertTrue(tries < 500)
# Now use DescribeStacks to check the parameter is updated
- client = self.stack.get_heat_client()
parameters = {}
parameters['StackName'] = self.stack.stackname
- response = client.describe_stacks(**parameters)
+ response = self.stack.heatclient.describe_stacks(**parameters)
prefix = '/DescribeStacksResponse/DescribeStacksResult/Stacks/member'
# value for each key, then check the extracted value
param_prefix = prefix + '/Parameters/member[ParameterKey="DBUsername"]'
print "Wordpress installation detected"
# 2. check floating ip assignment
- nclient = self.stack.get_nova_client()
- if len(nclient.floating_ips.list()) == 0:
+ if len(self.stack.novaclient.floating_ips.list()) == 0:
print 'zero floating IPs detected'
self.assertTrue(False)
else:
found = 0
- mylist = nclient.floating_ips.list()
+ mylist = self.stack.novaclient.floating_ips.list()
for item in mylist:
if item.instance_id == self.stack.instance_phys_ids()[0]:
print 'floating IP found', item.ip
print "Wordpress installation detected"
# 2. check floating ip assignment
- nclient = self.stack.get_nova_client()
- if len(nclient.floating_ips.list()) == 0:
+ if len(self.stack.novaclient.floating_ips.list()) == 0:
print 'zero floating IPs detected'
self.assertTrue(False)
else:
found = 0
- mylist = nclient.floating_ips.list()
+ mylist = self.stack.novaclient.floating_ips.list()
for item in mylist:
if item.instance_id == self.stack.instance_phys_ids()[0]:
print 'floating IP found', item.ip
'keystone',
'keystone authentication required')
+ self.glanceclient = glance_client.Client(host="0.0.0.0", port=9292,
+ use_ssl=False, auth_tok=None, creds=self.creds)
+
self.prepare_jeos(distribution, arch, jeos_type)
self.novaclient = nova_client.Client(self.creds['username'],
def cleanup(self):
parameters = {'StackName': self.stackname}
- c = self.get_heat_client()
- c.delete_stack(**parameters)
+ self.heatclient.delete_stack(**parameters)
print 'Waiting for stack deletion to be completed'
tries = 0
if end_state is not None:
self.testcase.assertEqual(end_state, 'DELETE_COMPLETE')
- def get_nova_client(self):
- if self.novaclient != None:
- return self.novaclient
- return None
-
- def get_glance_client(self):
- if self.glanceclient != None:
- return self.glanceclient
- return None
-
- def get_heat_client(self):
- if self.heatclient != None:
- return self.heatclient
- return None
-
def prepare_jeos(self, p_os, arch, type):
imagename = p_os + '-' + arch + '-' + type
- self.glanceclient = glance_client.Client(host="0.0.0.0", port=9292,
- use_ssl=False, auth_tok=None, creds=self.creds)
-
# skip creating jeos if image already available
if not self.poll_glance(self.glanceclient, imagename, False):
self.testcase.assertEqual(os.geteuid(), 0,
'''
# Get the DescribeStacks result for this stack
parameters = {'StackName': self.stackname}
- c = self.get_heat_client()
- result = c.describe_stacks(**parameters)
+ result = self.heatclient.describe_stacks(**parameters)
return self._find_stack_output(result, output_key)
def _find_stack_output(self, result, output_key):