diff --git a/tools/marvin/marvin/integration/lib/base/Template.py b/tools/marvin/marvin/integration/lib/base/Template.py index 0142b05aac6..71d9ae94887 100644 --- a/tools/marvin/marvin/integration/lib/base/Template.py +++ b/tools/marvin/marvin/integration/lib/base/Template.py @@ -41,25 +41,21 @@ class Template(CloudStackEntity.CloudStackEntity): return template - @classmethod - def create(cls, apiclient, factory, **kwargs): + def template_of_vm(self, apiclient, name, displaytext, ostypeid, **kwargs): cmd = createTemplate.createTemplateCmd() - [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in factory.__dict__.iteritems()] + cmd.id = self.id + cmd.name = name + cmd.displaytext = displaytext + cmd.ostypeid = ostypeid [setattr(cmd, key, value) for key,value in kwargs.iteritems()] template = apiclient.createTemplate(cmd) return Template(template.__dict__) - def register(self, apiclient, name, format, url, hypervisor, zoneid, displaytext, ostypeid, **kwargs): + @classmethod + def create(self, apiclient, factory, **kwargs): cmd = registerTemplate.registerTemplateCmd() - cmd.id = self.id - cmd.displaytext = displaytext - cmd.format = format - cmd.hypervisor = hypervisor - cmd.name = name - cmd.ostypeid = ostypeid - cmd.url = url - cmd.zoneid = zoneid + [setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in factory.__dict__.iteritems()] [setattr(cmd, key, value) for key,value in kwargs.iteritems()] template = apiclient.registerTemplate(cmd) return template diff --git a/tools/marvin/marvin/integration/lib/factory/TemplateFactory.py b/tools/marvin/marvin/integration/lib/factory/TemplateFactory.py index e2bb023a42c..47d10357d83 100644 --- a/tools/marvin/marvin/integration/lib/factory/TemplateFactory.py +++ b/tools/marvin/marvin/integration/lib/factory/TemplateFactory.py @@ -22,11 +22,17 @@ class TemplateFactory(CloudStackBaseFactory): FACTORY_FOR = Template.Template - displaytext = None name = None + displaytext = None + format = None + url = None + hypervisor = None + zoneid = None ostypeid = None class DefaultBuiltInTemplateFactory(TemplateFactory): ostype = 'CentOS 5.3 (64-bit)' displaytext = 'CentOS 5.3 (64-bit)' name = 'CentOS 5.3 (64-bit)' + format = 'VHD' + hypervisor = 'XenServer'