Rayees Namathponnan created CLOUDSTACK-5113:
-----------------------------------------------
Summary: [Automation] "get_template" function in command should
return default templates
Key: CLOUDSTACK-5113
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5113
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: marvin
Affects Versions: 4.2.1
Environment: Automation
Reporter: Rayees Namathponnan
Fix For: 4.2.1
I observed couple of vm deployment failures during automation runs; test cases
trying to deploy with vm with template which already deleted by other account
In below code in common.py we are getting template
"apiclient.listTemplates(cmd)", eg :
1) testcase1 trying to deploy a new VM
2) Same time testcase 2 register a template (temp2)
3) apiclient.listTemplates(cmd) will returns template ID (temp2)
4) testcase1 deploy vm wilt template temp2, same time (testcase 2) may delete
its account, then obviously temp2 also gets deleted
5) test case 1 deployment fails since temp2 no available
Solution
get_template() should return only default template; there is no property API to
list only default template; so we should find with starting name of template ie
"CentOS" and in test case we should not register template with name "CentOS 5.5"
def get_template(apiclient, zoneid, ostype, services=None):
"Returns a template"
cmd = listOsTypes.listOsTypesCmd()
cmd.description = ostype
ostypes = apiclient.listOsTypes(cmd)
if isinstance(ostypes, list):
ostypeid = ostypes[0].id
else:
raise Exception(
"Failed to find OS type with description: %s" % ostype)
cmd = listTemplates.listTemplatesCmd()
cmd.templatefilter = 'featured'
cmd.zoneid = zoneid
if services:
if "template" in services:
cmd.id = services["template"]
list_templates = apiclient.listTemplates(cmd)
--
This message was sent by Atlassian JIRA
(v6.1#6144)