cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rayees Namathponnan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CLOUDSTACK-5113) [Automation] "get_template" function in command should return default templates
Date Fri, 08 Nov 2013 23:16:17 GMT
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)

Mime
View raw message