You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2014/07/28 23:13:47 UTC
[19/50] [abbrv] git commit: updated refs/heads/4.4 to 2025f35
CLOUDSTACK-6914: Fixed the Issue
Signed-off-by: Abhinandan Prateek <ap...@apache.org>
(cherry picked from commit 54e4c075287957821e57368f1baf401761f7bda2)
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/45db2348
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/45db2348
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/45db2348
Branch: refs/heads/4.4
Commit: 45db2348ded7eaea4e45f17784cacafc7a9d9d64
Parents: 63feb45
Author: Santhosh Edukulla <sa...@gmail.com>
Authored: Mon Jun 16 16:06:59 2014 +0530
Committer: Daan Hoogland <da...@onecht.net>
Committed: Mon Jul 28 23:12:47 2014 +0200
----------------------------------------------------------------------
test/integration/smoke/test_affinity_groups.py | 2 +-
.../smoke/test_deploy_vgpu_enabled_vm.py | 129 +++++--------------
test/integration/smoke/test_deploy_vm.py | 8 +-
.../smoke/test_deploy_vm_root_resize.py | 6 +-
.../smoke/test_deploy_vm_with_userdata.py | 4 +-
...deploy_vms_with_varied_deploymentplanners.py | 6 +-
test/integration/smoke/test_disk_offerings.py | 6 +-
test/integration/smoke/test_global_settings.py | 2 +-
test/integration/smoke/test_guest_vlan_range.py | 2 +-
test/integration/smoke/test_internal_lb.py | 2 +-
test/integration/smoke/test_iso.py | 2 +-
test/integration/smoke/test_loadbalance.py | 6 +-
.../smoke/test_multipleips_per_nic.py | 2 +-
test/integration/smoke/test_network.py | 14 +-
test/integration/smoke/test_network_acl.py | 2 +-
test/integration/smoke/test_nic.py | 2 +-
.../smoke/test_non_contigiousvlan.py | 4 +-
.../integration/smoke/test_over_provisioning.py | 2 +-
.../integration/smoke/test_portable_publicip.py | 4 +-
test/integration/smoke/test_primary_storage.py | 4 +-
test/integration/smoke/test_privategw_acl.py | 2 +-
test/integration/smoke/test_public_ip_range.py | 2 +-
test/integration/smoke/test_pvlan.py | 2 +-
test/integration/smoke/test_regions.py | 2 +-
.../smoke/test_reset_vm_on_reboot.py | 2 +-
test/integration/smoke/test_resource_detail.py | 2 +-
test/integration/smoke/test_routers.py | 18 +--
test/integration/smoke/test_scale_vm.py | 2 +-
.../integration/smoke/test_secondary_storage.py | 4 +-
.../integration/smoke/test_service_offerings.py | 8 +-
test/integration/smoke/test_snapshots.py | 3 +-
test/integration/smoke/test_ssvm.py | 20 +--
test/integration/smoke/test_templates.py | 16 +--
test/integration/smoke/test_vm_ha.py | 2 +-
test/integration/smoke/test_vm_life_cycle.py | 24 ++--
test/integration/smoke/test_vm_snapshots.py | 6 +-
test/integration/smoke/test_volumes.py | 18 +--
test/integration/smoke/test_vpc_vpn.py | 4 +-
tools/marvin/marvin/config/test_data.py | 68 ++++++++++
39 files changed, 208 insertions(+), 206 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_affinity_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_affinity_groups.py b/test/integration/smoke/test_affinity_groups.py
index bb0a524..c1c5d5b 100644
--- a/test/integration/smoke/test_affinity_groups.py
+++ b/test/integration/smoke/test_affinity_groups.py
@@ -75,7 +75,7 @@ class TestDeployVmWithAffinityGroup(cloudstackTestCase):
]
return
- @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
+ @attr(tags=["basic", "advanced", "multihost"], required_hardware="false")
def test_DeployVmAntiAffinityGroup(self):
"""
test DeployVM in anti-affinity groups
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vgpu_enabled_vm.py b/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
index fa33bdc..13c1e5e 100644
--- a/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
+++ b/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
@@ -18,7 +18,7 @@
#Test from the Marvin - Testing in Python wiki
#All tests inherit from cloudstackTestCase
-from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.cloudstackTestCase import cloudstackTestCase, unittest
#Import Integration Libraries
@@ -29,121 +29,56 @@ from marvin.lib.base import Account, VirtualMachine, ServiceOffering
from marvin.lib.utils import cleanup_resources
#common - commonly used methods for all tests are listed here
-from marvin.lib.common import get_zone, get_domain, get_template
+from marvin.lib.common import get_zone, get_domain, get_template, list_hosts
-from marvin.codes import FAILED
+from marvin.sshClient import SshClient
-from nose.plugins.attrib import attr
-
-
-class Services:
- """Test VM Life Cycle Services
- """
-
- def __init__(self):
- self.services = {
- "disk_offering":{
- "displaytext": "Small",
- "name": "Small",
- "disksize": 1
- },
- "account": {
- "email": "test@test.com",
- "firstname": "Test",
- "lastname": "User",
- "username": "test",
- # Random characters are appended in create account to
- # ensure unique username generated each time
- "password": "password",
- },
- "vgpu260q": # Create a virtual machine instance with vgpu type as 260q
- {
- "displayname": "testserver",
- "username": "root", # VM creds for SSH
- "password": "password",
- "ssh_port": 22,
- "hypervisor": 'XenServer',
- "privateport": 22,
- "publicport": 22,
- "protocol": 'TCP',
- },
- "vgpu140q": # Create a virtual machine instance with vgpu type as 140q
- {
- "displayname": "testserver",
- "username": "root",
- "password": "password",
- "ssh_port": 22,
- "hypervisor": 'XenServer',
- "privateport": 22,
- "publicport": 22,
- "protocol": 'TCP',
- },
- "service_offerings":
- {
- "vgpu260qwin":
- {
- "name": "Windows Instance with vGPU260Q",
- "displaytext": "Windows Instance with vGPU260Q",
- "cpunumber": 2,
- "cpuspeed": 1600, # in MHz
- "memory": 3072, # In MBs
- },
- "vgpu140qwin":
- {
- # Small service offering ID to for change VM
- # service offering from medium to small
- "name": "Windows Instance with vGPU140Q",
- "displaytext": "Windows Instance with vGPU140Q",
- "cpunumber": 2,
- "cpuspeed": 1600,
- "memory": 3072,
- }
- },
- "diskdevice": ['/dev/vdc', '/dev/vdb', '/dev/hdb', '/dev/hdc', '/dev/xvdd', '/dev/cdrom', '/dev/sr0', '/dev/cdrom1' ],
- # Disk device where ISO is attached to instance
- "mount_dir": "/mnt/tmp",
- "sleep": 60,
- "timeout": 10,
- #Migrate VM to hostid
- "ostype": 'Windows 7 (32-bit)',
- # CentOS 5.3 (64-bit)
- }
+from marvin.codes import FAILED, XEN_SERVER
+from nose.plugins.attrib import attr
class TestDeployvGPUenabledVM(cloudstackTestCase):
- """Test deploy a vGPU enabled VM into a user account
"""
+ Test deploy a vGPU enabled VM into a user account
+ """
+ @classmethod
+ def setUpClass(cls):
+ testClient = super(TestDeployvGPUenabledVM, cls).getClsTestClient()
+ #Need to add check whether zone containing the xen hypervisor or not as well
+ hypervisor = testClient.getHypervisorInfo()
+ if hypervisor.lower() != XEN_SERVER.lower():
+ raise unittest.skipTest("GPU feature is supported only on XenServer")
+
def setUp(self):
- self.services = Services().services
+ self.testdata = self.testClient.getParsedTestDataConfig()["vgpu"]
self.apiclient = self.testClient.getApiClient()
# Get Zone, Domain and Default Built-in template
self.domain = get_domain(self.apiclient)
self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
- self.services["mode"] = self.zone.networktype
+ self.testdata["mode"] = self.zone.networktype
# Before running this test, register a windows template with ostype as 'Windows 7 (32-bit)'
- self.services["ostype"] = 'Windows 7 (32-bit)'
- self.template = get_template(self.apiclient, self.zone.id, self.services["ostype"])
+ self.template = get_template(self.apiclient, self.zone.id, self.testdata["ostype"])
if self.template == FAILED:
- assert False, "get_template() failed to return template with description %s" % self.services["ostype"]
+ assert False, "get_template() failed to return template with description %s" % self.testdata["ostype"]
#create a user account
self.account = Account.create(
self.apiclient,
- self.services["account"],
+ self.testdata["account"],
domainid=self.domain.id
)
- self.services["vgpu260q"]["zoneid"] = self.zone.id
- self.services["vgpu260q"]["template"] = self.template.id
+ self.testdata["vgpu260q"]["zoneid"] = self.zone.id
+ self.testdata["vgpu260q"]["template"] = self.template.id
- self.services["vgpu140q"]["zoneid"] = self.zone.id
- self.services["vgpu140q"]["template"] = self.template.id
+ self.testdata["vgpu140q"]["zoneid"] = self.zone.id
+ self.testdata["vgpu140q"]["template"] = self.template.id
#create a service offering
self.service_offering = ServiceOffering.create(
self.apiclient,
- self.services["service_offerings"]["vgpu260qwin"],
+ self.testdata["service_offerings"]["vgpu260qwin"],
serviceofferingdetails={'pciDevice': 'VGPU'}
)
#build cleanup list
@@ -152,7 +87,7 @@ class TestDeployvGPUenabledVM(cloudstackTestCase):
self.account
]
- @attr(tags = ['advanced', 'simulator', 'basic', 'vgpu', 'provisioning'], BugId="CLOUDSTACK-6876")
+ @attr(tags = ['advanced', 'basic', 'vgpu'], required_hardware="true", BugId="CLOUDSTACK-6876")
def test_deploy_vgpu_enabled_vm(self):
"""Test Deploy Virtual Machine
@@ -163,11 +98,11 @@ class TestDeployvGPUenabledVM(cloudstackTestCase):
"""
self.virtual_machine = VirtualMachine.create(
self.apiclient,
- self.services["vgpu260q"],
+ self.testdata["vgpu260q"],
accountid=self.account.name,
domainid=self.account.domainid,
serviceofferingid=self.service_offering.id,
- mode=self.services['mode']
+ mode=self.testdata['mode']
)
list_vms = VirtualMachine.list(self.apiclient, id=self.virtual_machine.id)
@@ -204,13 +139,13 @@ class TestDeployvGPUenabledVM(cloudstackTestCase):
"Running",
msg="VM is not in Running state"
)
- list_hosts = list_hosts(
+ hosts = list_hosts(
self.apiclient,
id=vm.hostid
)
- hostip = list_hosts[0].ipaddress
+ hostip = hosts[0].ipaddress
try:
- sshClient = SshClient(host=hostip, port=22, user='root',passwd=self.services["host_password"])
+ sshClient = SshClient(host=hostip, port=22, user='root',passwd=self.testdata["host_password"])
res = sshClient.execute("xe vgpu-list vm-name-label=%s params=type-uuid %s" % (
vm.instancename
))
@@ -230,4 +165,4 @@ class TestDeployvGPUenabledVM(cloudstackTestCase):
try:
cleanup_resources(self.apiclient, self.cleanup)
except Exception as e:
- self.debug("Warning! Exception in tearDown: %s" % e)
\ No newline at end of file
+ self.debug("Warning! Exception in tearDown: %s" % e)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_deploy_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vm.py b/test/integration/smoke/test_deploy_vm.py
index 8d0a0ed..ed5dfaf 100644
--- a/test/integration/smoke/test_deploy_vm.py
+++ b/test/integration/smoke/test_deploy_vm.py
@@ -68,7 +68,7 @@ class TestDeployVM(cloudstackTestCase):
self.account
]
- @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'selfservice'])
+ @attr(tags = ['advanced','basic', 'sg'], required_hardware="false")
def test_deploy_vm(self):
"""Test Deploy Virtual Machine
@@ -111,7 +111,7 @@ class TestDeployVM(cloudstackTestCase):
msg="VM is not in Running state"
)
- @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'selfservice'])
+ @attr(tags = ['advanced', 'basic', 'sg'], required_hardware="false")
def test_deploy_vm_multiple(self):
"""Test Multiple Deploy Virtual Machine
@@ -206,7 +206,7 @@ class TestDeployVMVolumeCreationFailure(cloudstackTestCase):
self.mock_volume_failure
]
- @attr(tags = ['selfservice'],BugId="CLOUDSTACK-6873")
+ @attr(tags = ['advanced'], BugId="CLOUDSTACK-6873", required_hardware="false")
def test_deploy_vm_volume_creation_failure(self):
"""Test Deploy Virtual Machine - volume creation failure and retry
@@ -317,7 +317,7 @@ class TestDeployVMStartFailure(cloudstackTestCase):
self.mock_start_failure
]
- @attr(tags = ['selfservice'],BugId="CLOUDSTACK-6873")
+ @attr(tags = ['advanced'], BugId="CLOUDSTACK-6873", required_hardware="false")
def test_deploy_vm_start_failure(self):
"""Test Deploy Virtual Machine - start operation failure and retry
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_deploy_vm_root_resize.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vm_root_resize.py b/test/integration/smoke/test_deploy_vm_root_resize.py
index 5d73876..0f0ddcc 100644
--- a/test/integration/smoke/test_deploy_vm_root_resize.py
+++ b/test/integration/smoke/test_deploy_vm_root_resize.py
@@ -103,7 +103,7 @@ class TestDeployVM(cloudstackTestCase):
self.account
]
- @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'provisioning'])
+ @attr(tags = ['advanced', 'basic', 'sg'], required_hardware="true")
def test_00_deploy_vm_root_resize(self):
"""Test deploy virtual machine with root resize
@@ -204,7 +204,7 @@ class TestDeployVM(cloudstackTestCase):
self.assertEqual(success, True, "Check if unsupported hypervisor %s fails appropriately" % self.hypervisor)
- @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'provisioning'])
+ @attr(tags = ['advanced', 'basic', 'sg'], required_hardware="true")
def test_01_deploy_vm_root_resize(self):
"""Test proper failure to deploy virtual machine with rootdisksize of 0
"""
@@ -233,7 +233,7 @@ class TestDeployVM(cloudstackTestCase):
else:
self.debug("test 01 does not support hypervisor type " + self.hypervisor);
- @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'provisioning'])
+ @attr(tags = ['advanced', 'basic', 'sg'], required_hardware="true")
def test_02_deploy_vm_root_resize(self):
"""Test proper failure to deploy virtual machine with rootdisksize less than template size
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_deploy_vm_with_userdata.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vm_with_userdata.py b/test/integration/smoke/test_deploy_vm_with_userdata.py
index 7616b82..c98b38a 100644
--- a/test/integration/smoke/test_deploy_vm_with_userdata.py
+++ b/test/integration/smoke/test_deploy_vm_with_userdata.py
@@ -70,7 +70,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
def setup(self):
self.hypervisor = self.testClient.getHypervisorInfo()
- @attr(tags=["simulator", "devcloud", "basic", "advanced", "post", "provisioning"])
+ @attr(tags=["devcloud", "basic", "advanced", "post"], required_hardware="true")
def test_deployvm_userdata_post(self):
"""Test userdata as POST, size > 2k
"""
@@ -95,7 +95,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
self.assert_(vm.id == str(deployVmResponse.id), "Vm deployed is different from the test")
self.assert_(vm.state == "Running", "VM is not in Running state")
- @attr(tags=["simulator", "devcloud", "basic", "advanced", "provisioning"])
+ @attr(tags=["devcloud", "basic", "advanced"], required_hardware="true")
def test_deployvm_userdata(self):
"""Test userdata as GET, size > 2k
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py b/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
index 420925e..9fcb643 100644
--- a/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
+++ b/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
@@ -60,7 +60,7 @@ class TestDeployVmWithVariedPlanners(cloudstackTestCase):
cls.account
]
- @attr(tags=["simulator", "advanced", "basic", "sg", "selfservice"])
+ @attr(tags=["advanced", "basic", "sg"], required_hardware="false")
def test_deployvm_firstfit(self):
"""Test to deploy vm with a first fit offering
"""
@@ -104,7 +104,7 @@ class TestDeployVmWithVariedPlanners(cloudstackTestCase):
msg="VM is not in Running state"
)
- @attr(tags=["simulator", "advanced", "basic", "sg", "selfservice"])
+ @attr(tags=["advanced", "basic", "sg"], required_hardware="false")
def test_deployvm_userdispersing(self):
"""Test deploy VMs using user dispersion planner
"""
@@ -163,7 +163,7 @@ class TestDeployVmWithVariedPlanners(cloudstackTestCase):
self.debug("VMs (%s, %s) meant to be dispersed are deployed in the same cluster %s" % (
vm1.id, vm2.id, vm1clusterid))
- @attr(tags=["simulator", "advanced", "basic", "sg", "selfservice"])
+ @attr(tags=["advanced", "basic", "sg"], required_hardware="false")
def test_deployvm_userconcentrated(self):
"""Test deploy VMs using user concentrated planner
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_disk_offerings.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_disk_offerings.py b/test/integration/smoke/test_disk_offerings.py
index 45f438f..69a252b 100644
--- a/test/integration/smoke/test_disk_offerings.py
+++ b/test/integration/smoke/test_disk_offerings.py
@@ -45,7 +45,7 @@ class TestCreateDiskOffering(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"], required_hardware="false")
def test_01_create_disk_offering(self):
"""Test to create disk offering
@@ -132,7 +132,7 @@ class TestDiskOfferings(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke", "selfservice"])
+ @attr(tags=["advanced", "basic", "eip", "sg", "advancedns", "smoke"], required_hardware="false")
def test_02_edit_disk_offering(self):
"""Test to update existing disk offering
@@ -184,7 +184,7 @@ class TestDiskOfferings(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke", "selfservice"])
+ @attr(tags=["advanced", "basic", "eip", "sg", "advancedns", "smoke"], required_hardware="false")
def test_03_delete_disk_offering(self):
"""Test to delete disk offering
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_global_settings.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_global_settings.py b/test/integration/smoke/test_global_settings.py
index ace2db3..4920421 100644
--- a/test/integration/smoke/test_global_settings.py
+++ b/test/integration/smoke/test_global_settings.py
@@ -32,7 +32,7 @@ class TestUpdateConfigWithScope(cloudstackTestCase):
def setUp(self):
self.apiClient = self.testClient.getApiClient()
- @attr(tags=["simulator", "devcloud", "basic", "advanced", "selfservice"])
+ @attr(tags=["devcloud", "basic", "advanced"], required_hardware="false")
def test_UpdateConfigParamWithScope(self):
"""
test update configuration setting at zone level scope
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_guest_vlan_range.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_guest_vlan_range.py b/test/integration/smoke/test_guest_vlan_range.py
index f5bcdf4..000d71e 100644
--- a/test/integration/smoke/test_guest_vlan_range.py
+++ b/test/integration/smoke/test_guest_vlan_range.py
@@ -78,7 +78,7 @@ class TestDedicateGuestVlanRange(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags=["simulator", "advanced", "guestvlanrange", "dedicate", "release", "selfservice"],BugId="CLOUDSTACK-6738")
+ @attr(tags=["advanced", "guestvlanrange", "dedicate", "release"], BugId="CLOUDSTACK-6738", required_hardware="false")
def test_dedicateGuestVlanRange(self):
"""Test guest vlan range dedication
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_internal_lb.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_internal_lb.py b/test/integration/smoke/test_internal_lb.py
index d6f3477..d2e6364 100644
--- a/test/integration/smoke/test_internal_lb.py
+++ b/test/integration/smoke/test_internal_lb.py
@@ -56,7 +56,7 @@ class TestInternalLb(cloudstackTestCase):
cls.account.id))
cls.cleanup = [cls.account]
- @attr(tags=["smoke", "advanced", "provisioning"])
+ @attr(tags=["smoke", "advanced"], required_hardware="true")
def test_internallb(self):
"""Test create, delete, assign, remove of internal loadbalancer
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_iso.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_iso.py b/test/integration/smoke/test_iso.py
index d394c27..7c4bf02 100644
--- a/test/integration/smoke/test_iso.py
+++ b/test/integration/smoke/test_iso.py
@@ -75,7 +75,7 @@ class TestCreateIso(cloudstackTestCase):
return
- @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "selfservice"], BugId="CLOUDSTACK-6769, CLOUDSTACK-6774")
+ @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"], BugId="CLOUDSTACK-6769, CLOUDSTACK-6774", required_hardware="false")
def test_01_create_iso(self):
"""Test create public & private ISO
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_loadbalance.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_loadbalance.py b/test/integration/smoke/test_loadbalance.py
index daa5fee..f662974 100644
--- a/test/integration/smoke/test_loadbalance.py
+++ b/test/integration/smoke/test_loadbalance.py
@@ -143,7 +143,7 @@ class TestLoadBalance(cloudstackTestCase):
time.sleep(10)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_01_create_lb_rule_src_nat(self):
"""Test to create Load balancing rule with source NAT"""
@@ -303,7 +303,7 @@ class TestLoadBalance(cloudstackTestCase):
self.try_ssh(src_nat_ip_addr.ipaddress, hostnames)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_02_create_lb_rule_non_nat(self):
"""Test to create Load balancing rule with non source NAT"""
@@ -421,7 +421,7 @@ class TestLoadBalance(cloudstackTestCase):
self.try_ssh(self.non_src_nat_ip.ipaddress.ipaddress, hostnames)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_assign_and_removal_lb(self):
"""Test for assign & removing load balancing rule"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_multipleips_per_nic.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_multipleips_per_nic.py b/test/integration/smoke/test_multipleips_per_nic.py
index ad3a3cf..4093356 100644
--- a/test/integration/smoke/test_multipleips_per_nic.py
+++ b/test/integration/smoke/test_multipleips_per_nic.py
@@ -122,7 +122,7 @@ class TestDeployVM(cloudstackTestCase):
msg="VM is not in Running state"
)
- @attr(tags = ['advanced', 'simulator', 'basic', "provisioning"])
+ @attr(tags = ['advanced', 'basic'], required_hardware="false")
def test_nic_secondaryip_add_remove(self):
#TODO: SIMENH: add verification
list_vms = VirtualMachine.list(self.apiclient, id=self.virtual_machine.id)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_network.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_network.py b/test/integration/smoke/test_network.py
index 4100878..cfe9c18 100644
--- a/test/integration/smoke/test_network.py
+++ b/test/integration/smoke/test_network.py
@@ -115,7 +115,7 @@ class TestPublicIP(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_public_ip_admin_account(self):
"""Test for Associate/Disassociate public IP address for admin account"""
@@ -165,7 +165,7 @@ class TestPublicIP(cloudstackTestCase):
self.fail("list public ip response is not empty")
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_public_ip_user_account(self):
"""Test for Associate/Disassociate public IP address for user account"""
@@ -278,7 +278,7 @@ class TestPortForwarding(cloudstackTestCase):
cleanup_resources(self.apiclient, self.cleanup)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_01_port_fwd_on_src_nat(self):
"""Test for port forwarding on source NAT"""
@@ -405,7 +405,7 @@ class TestPortForwarding(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_02_port_fwd_on_non_src_nat(self):
"""Test for port forwarding on non source NAT"""
@@ -617,7 +617,7 @@ class TestRebootRouter(cloudstackTestCase):
]
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_reboot_router(self):
"""Test for reboot router"""
@@ -773,7 +773,7 @@ class TestReleaseIP(cloudstackTestCase):
def tearDown(self):
cleanup_resources(self.apiclient, self.cleanup)
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_releaseIP(self):
"""Test for release public IP address"""
@@ -898,7 +898,7 @@ class TestDeleteAccount(cloudstackTestCase):
self.cleanup = []
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_delete_account(self):
"""Test for delete account"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_network_acl.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_network_acl.py b/test/integration/smoke/test_network_acl.py
index 68e5067..015ebab 100644
--- a/test/integration/smoke/test_network_acl.py
+++ b/test/integration/smoke/test_network_acl.py
@@ -54,7 +54,7 @@ class TestNetworkACL(cloudstackTestCase):
cls.account.id))
cls.cleanup = [cls.account]
- @attr(tags=["advanced", "provisioning"])
+ @attr(tags=["advanced"], required_hardware="true")
def test_network_acl(self):
#TODO: SIMENH: add actual verification Logic for rules.
"""Test network ACL lists and items in VPC"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_nic.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_nic.py b/test/integration/smoke/test_nic.py
index 592a839..dd6de96 100644
--- a/test/integration/smoke/test_nic.py
+++ b/test/integration/smoke/test_nic.py
@@ -119,7 +119,7 @@ class TestNic(cloudstackTestCase):
except Exception as ex:
self.debug("Exception during NIC test SETUP!: " + str(ex))
- @attr(tags = ["devcloud", "smoke", "advanced", "advancedns", "provisioning"])
+ @attr(tags = ["devcloud", "smoke", "advanced", "advancedns"], required_hardware="true")
def test_01_nic(self):
#TODO: SIMENH: add validation
"""Test to add and update added nic to a virtual machine"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_non_contigiousvlan.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_non_contigiousvlan.py b/test/integration/smoke/test_non_contigiousvlan.py
index 50b48d0..7469829 100644
--- a/test/integration/smoke/test_non_contigiousvlan.py
+++ b/test/integration/smoke/test_non_contigiousvlan.py
@@ -21,7 +21,7 @@ from marvin.lib.base import PhysicalNetwork
from marvin.lib.common import setNonContiguousVlanIds, get_zone
from nose.plugins.attrib import attr
-@attr(tags = ["simulator", "advanced", "selfservice"], BugId="CLOUDSTACK-6776")
+
class TestUpdatePhysicalNetwork(cloudstackTestCase):
"""
Test to extend physical network vlan range
@@ -38,7 +38,7 @@ class TestUpdatePhysicalNetwork(cloudstackTestCase):
raise Exception("Failed to set non contiguous vlan ids to test. Free some ids from \
from existing physical networks at ends")
-
+ @attr(tags = ["advanced"], BugId="CLOUDSTACK-6776", required_hardware="false")
def test_extendPhysicalNetworkVlan(self):
"""
Test to update a physical network and extend its vlan
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_over_provisioning.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_over_provisioning.py b/test/integration/smoke/test_over_provisioning.py
index 1c5d8a5..43d558e 100644
--- a/test/integration/smoke/test_over_provisioning.py
+++ b/test/integration/smoke/test_over_provisioning.py
@@ -32,7 +32,7 @@ class TestUpdateOverProvision(cloudstackTestCase):
def setUp(self):
self.apiClient = self.testClient.getApiClient()
- @attr(tags=["simulator", "devcloud", "basic", "advanced", "selfservice"])
+ @attr(tags=["devcloud", "basic", "advanced"], required_hardware="false")
def test_UpdateStorageOverProvisioningFactor(self):
"""
test update configuration setting at storage scope
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_portable_publicip.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_portable_publicip.py b/test/integration/smoke/test_portable_publicip.py
index 2d02a71..be37773 100644
--- a/test/integration/smoke/test_portable_publicip.py
+++ b/test/integration/smoke/test_portable_publicip.py
@@ -75,7 +75,7 @@ class TestPortablePublicIPRange(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["simulator", "basic", "advanced", "portablepublicip", "selfservice"])
+ @attr(tags = ["basic", "advanced", "portablepublicip"], required_hardware="false")
def test_createPortablePublicIPRange(self):
""" Test to create a portable public ip range
"""
@@ -161,7 +161,7 @@ class TestPortablePublicIPAcquire(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["simulator", "advanced", "portablepublicip", "selfservice"])
+ @attr(tags = ["advanced", "portablepublicip"], required_hardware="false")
def test_createPortablePublicIPAcquire(self):
""" Test to acquire a provisioned public ip range
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_primary_storage.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_primary_storage.py b/test/integration/smoke/test_primary_storage.py
index 3c1aa62..f5a666e 100644
--- a/test/integration/smoke/test_primary_storage.py
+++ b/test/integration/smoke/test_primary_storage.py
@@ -51,7 +51,7 @@ class TestPrimaryStorageServices(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"], BugId="CLOUDSTACK-6770")
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], BugId="CLOUDSTACK-6770", required_hardware="false")
def test_01_primary_storage_nfs(self):
"""Test primary storage pools - XEN, KVM, VMWare
"""
@@ -144,7 +144,7 @@ class TestPrimaryStorageServices(cloudstackTestCase):
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"], BugId="CLOUDSTACK-6770")
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], BugId="CLOUDSTACK-6770", required_hardware="false")
def test_01_primary_storage_iscsi(self):
"""Test primary storage pools - XEN, KVM, VMWare
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_privategw_acl.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_privategw_acl.py b/test/integration/smoke/test_privategw_acl.py
index c86beb1..cf0f8e3 100644
--- a/test/integration/smoke/test_privategw_acl.py
+++ b/test/integration/smoke/test_privategw_acl.py
@@ -39,7 +39,7 @@ class TestPrivateGwACL(cloudstackTestCase):
self.privateGwId = None
- @attr(tags=["advanced", "selfservice"])
+ @attr(tags=["advanced"], required_hardware="false")
def test_privategw_acl(self):
#TODO: SIMENH: add a new test to verification of ACL rules
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_public_ip_range.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_public_ip_range.py b/test/integration/smoke/test_public_ip_range.py
index b961dc3..e09f7b4 100644
--- a/test/integration/smoke/test_public_ip_range.py
+++ b/test/integration/smoke/test_public_ip_range.py
@@ -72,7 +72,7 @@ class TestDedicatePublicIPRange(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["simulator", "advanced", "publiciprange", "dedicate", "release", "selfservice"])
+ @attr(tags = ["advanced", "publiciprange", "dedicate", "release"], required_hardware="false")
def test_dedicatePublicIpRange(self):
"""Test public IP range dedication
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_pvlan.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_pvlan.py b/test/integration/smoke/test_pvlan.py
index 9178e62..6e187b9 100644
--- a/test/integration/smoke/test_pvlan.py
+++ b/test/integration/smoke/test_pvlan.py
@@ -45,7 +45,7 @@ class TestPVLAN(cloudstackTestCase):
cls.zone = get_zone(cls.apiClient, cls.testClient.getZoneForTests())
cls.zoneId = cls.zone.id
- @attr(tags = ["advanced", "selfservice"])
+ @attr(tags = ["advanced"], required_hardware="false")
def test_create_pvlan_network(self):
self.debug("Test create pvlan network")
createNetworkCmd = createNetwork.createNetworkCmd()
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_regions.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_regions.py b/test/integration/smoke/test_regions.py
index 389f878..7b0dec3 100644
--- a/test/integration/smoke/test_regions.py
+++ b/test/integration/smoke/test_regions.py
@@ -35,7 +35,7 @@ class TestRegions(cloudstackTestCase):
cls.domain = get_domain(cls.apiclient)
cls.cleanup = []
- @attr(tags=["simulator", "basic", "advanced", "selfservice"])
+ @attr(tags=["basic", "advanced"], required_hardware="false")
def test_createRegion(self):
""" Test for create region
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_reset_vm_on_reboot.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_reset_vm_on_reboot.py b/test/integration/smoke/test_reset_vm_on_reboot.py
index 4709df4..668c77f 100644
--- a/test/integration/smoke/test_reset_vm_on_reboot.py
+++ b/test/integration/smoke/test_reset_vm_on_reboot.py
@@ -96,7 +96,7 @@ class TestResetVmOnReboot(cloudstackTestCase):
return
@attr(hypervisor="xenserver")
- @attr(tags=["advanced", "basic", "selfservice"])
+ @attr(tags=["advanced", "basic"], required_hardware="false")
def test_01_reset_vm_on_reboot(self):
#TODO: SIMENH: add new test to check volume contents
"""Test reset virtual machine on reboot
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_resource_detail.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_resource_detail.py b/test/integration/smoke/test_resource_detail.py
index 7f4a6e7..7103c65 100644
--- a/test/integration/smoke/test_resource_detail.py
+++ b/test/integration/smoke/test_resource_detail.py
@@ -89,7 +89,7 @@ class TestResourceDetail(cloudstackTestCase):
cleanup_resources(self.apiclient, self.cleanup)
return
- @attr(tags = ["advanced", "xenserver", "selfservice"])
+ @attr(tags = ["advanced", "xenserver"], required_hardware="false")
def test_01_updatevolumedetail(self):
"""Test volume detail
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_routers.py b/test/integration/smoke/test_routers.py
index d503af1..cb878a0 100644
--- a/test/integration/smoke/test_routers.py
+++ b/test/integration/smoke/test_routers.py
@@ -98,7 +98,7 @@ class TestRouterServices(cloudstackTestCase):
self.hypervisor = self.testClient.getHypervisorInfo()
return
- @attr(tags = ["advanced", "basic", "sg", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "basic", "sg", "smoke"], required_hardware="true")
def test_01_router_internal_basic(self):
"""Test router internal basic zone
"""
@@ -184,7 +184,7 @@ class TestRouterServices(cloudstackTestCase):
return
- @attr(tags = ["advanced", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "smoke"], required_hardware="true")
def test_02_router_internal_adv(self):
"""Test router internal advanced zone
"""
@@ -291,7 +291,7 @@ class TestRouterServices(cloudstackTestCase):
self.debug("Haproxy process status: %s" % res)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_03_restart_network_cleanup(self):
"""Test restart network
"""
@@ -371,7 +371,7 @@ class TestRouterServices(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true")
def test_04_restart_network_wo_cleanup(self):
"""Test restart network without cleanup
"""
@@ -487,7 +487,7 @@ class TestRouterServices(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_05_router_basic(self):
"""Test router basic setup
"""
@@ -554,7 +554,7 @@ class TestRouterServices(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_06_router_advanced(self):
"""Test router advanced setup
"""
@@ -638,7 +638,7 @@ class TestRouterServices(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_07_stop_router(self):
"""Test stop router
"""
@@ -683,7 +683,7 @@ class TestRouterServices(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_08_start_router(self):
"""Test start router
"""
@@ -737,7 +737,7 @@ class TestRouterServices(cloudstackTestCase):
return True
return False
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_09_reboot_router(self):
"""Test reboot router
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_scale_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_scale_vm.py b/test/integration/smoke/test_scale_vm.py
index 261fe93..d77946c 100644
--- a/test/integration/smoke/test_scale_vm.py
+++ b/test/integration/smoke/test_scale_vm.py
@@ -103,7 +103,7 @@ class TestScaleVm(cloudstackTestCase):
return
@attr(hypervisor="xenserver")
- @attr(tags=["advanced", "basic", "provisioning"], BugId="CLOUDSTACK-6768")
+ @attr(tags=["advanced", "basic"], BugId="CLOUDSTACK-6768", required_hardware="true")
def test_01_scale_vm(self):
"""Test scale virtual machine
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_secondary_storage.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_secondary_storage.py b/test/integration/smoke/test_secondary_storage.py
index ac80956..2e20421 100644
--- a/test/integration/smoke/test_secondary_storage.py
+++ b/test/integration/smoke/test_secondary_storage.py
@@ -81,7 +81,7 @@ class TestSecStorageServices(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"],BugId="CLOUDSTACK-6877")
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg"], required_hardware="false",BugId="CLOUDSTACK-6877")
def test_01_sys_vm_start(self):
"""Test system VM start
"""
@@ -160,7 +160,7 @@ class TestSecStorageServices(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg"], BugId="CLOUDSTACK-6773", required_hardware="false")
def test_02_sys_template_ready(self):
"""Test system templates are ready
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_service_offerings.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_service_offerings.py b/test/integration/smoke/test_service_offerings.py
index 980e110..e390f75 100644
--- a/test/integration/smoke/test_service_offerings.py
+++ b/test/integration/smoke/test_service_offerings.py
@@ -54,7 +54,7 @@ class TestCreateServiceOffering(cloudstackTestCase):
return
- @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
+ @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg"], required_hardware="false")
def test_01_create_service_offering(self):
"""Test to create service offering"""
@@ -205,7 +205,7 @@ class TestServiceOfferings(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
+ @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg"], required_hardware="false")
def test_02_edit_service_offering(self):
"""Test to update existing service offering"""
@@ -256,7 +256,7 @@ class TestServiceOfferings(cloudstackTestCase):
return
- @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
+ @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg"], required_hardware="false")
def test_03_delete_service_offering(self):
"""Test to delete service offering"""
@@ -282,7 +282,7 @@ class TestServiceOfferings(cloudstackTestCase):
return
- @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="true")
def test_04_change_offering_small(self):
"""Test to change service to a small capacity
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_snapshots.py b/test/integration/smoke/test_snapshots.py
index a9be4e2..2bb1a89 100644
--- a/test/integration/smoke/test_snapshots.py
+++ b/test/integration/smoke/test_snapshots.py
@@ -98,8 +98,7 @@ class TestSnapshotRootDisk(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(speed = "slow")
- @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"], BugId="CLOUDSTACK-6878")
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="true",BugId="CLOUDSTACK-6878")
def test_01_snapshot_root_disk(self):
"""Test Snapshot Root Disk
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_ssvm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_ssvm.py b/test/integration/smoke/test_ssvm.py
index ffa620b..9b8d19d 100644
--- a/test/integration/smoke/test_ssvm.py
+++ b/test/integration/smoke/test_ssvm.py
@@ -50,7 +50,7 @@ class TestSSVMs(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_01_list_sec_storage_vm(self):
"""Test List secondary storage VMs
"""
@@ -168,7 +168,7 @@ class TestSSVMs(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_02_list_cpvm_vm(self):
"""Test List console proxy VMs
"""
@@ -280,7 +280,7 @@ class TestSSVMs(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_03_ssvm_internals(self):
"""Test SSVM Internals"""
@@ -393,7 +393,7 @@ class TestSSVMs(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_04_cpvm_internals(self):
"""Test CPVM Internals"""
@@ -476,7 +476,7 @@ class TestSSVMs(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_05_stop_ssvm(self):
"""Test stop SSVM
"""
@@ -552,7 +552,7 @@ class TestSSVMs(cloudstackTestCase):
self.test_03_ssvm_internals()
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_06_stop_cpvm(self):
"""Test stop CPVM
"""
@@ -625,7 +625,7 @@ class TestSSVMs(cloudstackTestCase):
self.test_04_cpvm_internals()
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_07_reboot_ssvm(self):
"""Test reboot SSVM
"""
@@ -711,7 +711,7 @@ class TestSSVMs(cloudstackTestCase):
self.test_03_ssvm_internals()
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_08_reboot_cpvm(self):
"""Test reboot CPVM
"""
@@ -798,7 +798,7 @@ class TestSSVMs(cloudstackTestCase):
self.test_04_cpvm_internals()
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_09_destroy_ssvm(self):
"""Test destroy SSVM
"""
@@ -880,7 +880,7 @@ class TestSSVMs(cloudstackTestCase):
self.test_03_ssvm_internals()
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_10_destroy_cpvm(self):
"""Test destroy CPVM
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_templates.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_templates.py b/test/integration/smoke/test_templates.py
index c7594bb..a757c2a 100644
--- a/test/integration/smoke/test_templates.py
+++ b/test/integration/smoke/test_templates.py
@@ -144,7 +144,7 @@ class TestCreateTemplate(cloudstackTestCase):
return
- @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke"], required_hardware="false")
def test_01_create_template(self):
"""Test create public & private template
"""
@@ -340,7 +340,7 @@ class TestTemplates(cloudstackTestCase):
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice", "test"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_02_edit_template(self):
"""Test Edit template
"""
@@ -423,7 +423,7 @@ class TestTemplates(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_03_delete_template(self):
"""Test delete template
"""
@@ -452,7 +452,7 @@ class TestTemplates(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_04_extract_template(self):
"Test for extract template"
@@ -503,7 +503,7 @@ class TestTemplates(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_05_template_permissions(self):
"""Update & Test for template permissions"""
@@ -556,7 +556,7 @@ class TestTemplates(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multizone", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multizone"], required_hardware="true")
def test_06_copy_template(self):
"""Test for copy template from one zone to another"""
@@ -647,7 +647,7 @@ class TestTemplates(cloudstackTestCase):
self.apiclient.deleteTemplate(cmd)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_07_list_public_templates(self):
"""Test only public templates are visible to normal user"""
@@ -679,7 +679,7 @@ class TestTemplates(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_08_list_system_templates(self):
"""Test System templates are not visible to normal user"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_vm_ha.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vm_ha.py b/test/integration/smoke/test_vm_ha.py
index 1fc6960..1d9021c 100644
--- a/test/integration/smoke/test_vm_ha.py
+++ b/test/integration/smoke/test_vm_ha.py
@@ -145,7 +145,7 @@ class TestDeployVMHA(cloudstackTestCase):
]
self.cleanup = self.cleanup + self.mock_checkonhost_list
- @attr(tags = ['selfservice'],BugId="CLOUDSTACK-6873")
+ @attr(tags = ['advanced'], required_hardware="false", BugId="CLOUDSTACK-6873")
def test_vm_ha(self):
"""Test VM HA
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_vm_life_cycle.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vm_life_cycle.py b/test/integration/smoke/test_vm_life_cycle.py
index 1e56571..ce7cac7 100644
--- a/test/integration/smoke/test_vm_life_cycle.py
+++ b/test/integration/smoke/test_vm_life_cycle.py
@@ -115,7 +115,7 @@ class TestDeployVM(cloudstackTestCase):
self.dbclient = self.testClient.getDbConnection()
- @attr(tags = ["simulator", "devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_deploy_vm(self):
"""Test Deploy Virtual Machine
"""
@@ -161,7 +161,7 @@ class TestDeployVM(cloudstackTestCase):
return
- @attr(tags = ["simulator", "advanced"])
+ @attr(tags = ["advanced"], required_hardware="false")
def test_advZoneVirtualRouter(self):
#TODO: SIMENH: duplicate test, remove it
"""
@@ -183,8 +183,8 @@ class TestDeployVM(cloudstackTestCase):
self.assertIsNotNone(router.publicip, msg="Router has no public ip")
self.assertIsNotNone(router.guestipaddress, msg="Router has no guest ip")
- @attr(hypervisor = ["simulator"])
- @attr(mode = ["basic"])
+
+ @attr(mode = ["basic"], required_hardware="false")
def test_basicZoneVirtualRouter(self):
#TODO: SIMENH: duplicate test, remove it
"""
@@ -304,7 +304,7 @@ class TestVMLifeCycle(cloudstackTestCase):
return
- @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_01_stop_vm(self):
"""Test Stop Virtual Machine
"""
@@ -319,7 +319,7 @@ class TestVMLifeCycle(cloudstackTestCase):
self.fail("Failed to stop VM: %s" % e)
return
- @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_02_start_vm(self):
"""Test Start Virtual Machine
"""
@@ -357,7 +357,7 @@ class TestVMLifeCycle(cloudstackTestCase):
)
return
- @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_03_reboot_vm(self):
"""Test Reboot Virtual Machine
"""
@@ -394,7 +394,7 @@ class TestVMLifeCycle(cloudstackTestCase):
return
- @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_06_destroy_vm(self):
"""Test destroy Virtual Machine
"""
@@ -430,7 +430,7 @@ class TestVMLifeCycle(cloudstackTestCase):
)
return
- @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="false")
def test_07_restore_vm(self):
#TODO: SIMENH: add another test the data on the restored VM.
"""Test recover Virtual Machine
@@ -471,7 +471,7 @@ class TestVMLifeCycle(cloudstackTestCase):
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multihost", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multihost"], required_hardware="false")
def test_08_migrate_vm(self):
"""Test migrate VM
"""
@@ -548,7 +548,7 @@ class TestVMLifeCycle(cloudstackTestCase):
@attr(configuration = "expunge.interval")
@attr(configuration = "expunge.delay")
- @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"],BugId="CLOUDSTACK-6738")
+ @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"], BugId="CLOUDSTACK-6738", required_hardware="false")
def test_09_expunge_vm(self):
"""Test destroy(expunge) Virtual Machine
"""
@@ -593,7 +593,7 @@ class TestVMLifeCycle(cloudstackTestCase):
self.assertEqual(list_vm_response,None,"Check Expunged virtual machine is in listVirtualMachines response")
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"], required_hardware="true")
def test_10_attachAndDetach_iso(self):
"""Test for attach and detach ISO to virtual machine"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_vm_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vm_snapshots.py b/test/integration/smoke/test_vm_snapshots.py
index c324afa..01626f5 100644
--- a/test/integration/smoke/test_vm_snapshots.py
+++ b/test/integration/smoke/test_vm_snapshots.py
@@ -112,7 +112,7 @@ class TestVmSnapshot(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="true")
def test_01_create_vm_snapshots(self):
"""Test to create VM snapshots
"""
@@ -156,7 +156,7 @@ class TestVmSnapshot(cloudstackTestCase):
)
return
- @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="true")
def test_02_revert_vm_snapshots(self):
"""Test to revert VM snapshots
"""
@@ -243,7 +243,7 @@ class TestVmSnapshot(cloudstackTestCase):
"Check the random data is equal with the ramdom file!"
)
- @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
+ @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="true")
def test_03_delete_vm_snapshots(self):
"""Test to delete vm snapshots
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_volumes.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_volumes.py b/test/integration/smoke/test_volumes.py
index 2d3bd91..3a30768 100644
--- a/test/integration/smoke/test_volumes.py
+++ b/test/integration/smoke/test_volumes.py
@@ -109,7 +109,7 @@ class TestCreateVolume(cloudstackTestCase):
self.dbclient = self.testClient.getDbConnection()
self.cleanup = []
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="true")
def test_01_create_volume(self):
"""Test Volume creation for all Disk Offerings (incl. custom)
"""
@@ -314,7 +314,7 @@ class TestVolumes(cloudstackTestCase):
cleanup_resources(self.apiClient, self.cleanup)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="true")
def test_02_attach_volume(self):
"""Attach a created Volume to a Running VM
"""
@@ -360,7 +360,7 @@ class TestVolumes(cloudstackTestCase):
(self.virtual_machine.ipaddress, e))
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
def test_03_download_attached_volume(self):
"""Download a Volume attached to a VM
"""
@@ -382,7 +382,7 @@ class TestVolumes(cloudstackTestCase):
with self.assertRaises(Exception):
self.apiClient.extractVolume(cmd)
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
def test_04_delete_attached_volume(self):
"""Delete a Volume attached to a VM
"""
@@ -403,7 +403,7 @@ class TestVolumes(cloudstackTestCase):
with self.assertRaises(Exception):
self.apiClient.deleteVolume(cmd)
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
def test_05_detach_volume(self):
"""Detach a Volume attached to a VM
"""
@@ -445,7 +445,7 @@ class TestVolumes(cloudstackTestCase):
)
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="true")
def test_06_download_detached_volume(self):
"""Download a Volume unattached to an VM
"""
@@ -482,7 +482,7 @@ class TestVolumes(cloudstackTestCase):
% (extract_vol.url, self.volume.id)
)
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="true")
def test_07_resize_fail(self):
"""Test resize (negative) non-existent volume"""
# Verify the size is the new size is what we wanted it to be.
@@ -596,7 +596,7 @@ class TestVolumes(cloudstackTestCase):
return
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
+ @attr(tags = ["advanced", "advancedns", "smoke", "basic"], required_hardware="true")
def test_08_resize_volume(self):
"""Test resize a volume"""
# Verify the size is the new size is what we wanted it to be.
@@ -699,7 +699,7 @@ class TestVolumes(cloudstackTestCase):
time.sleep(30)
return
- @attr(tags = ["advanced", "advancedns", "smoke","basic", "selfservice"], BugId="CLOUDSTACK-6875")
+ @attr(tags = ["advanced", "advancedns", "smoke","basic"], required_hardware="false", BugId="CLOUDSTACK-6875")
def test_09_delete_detached_volume(self):
"""Delete a Volume unattached to an VM
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/test/integration/smoke/test_vpc_vpn.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vpc_vpn.py b/test/integration/smoke/test_vpc_vpn.py
index 1b28447..f0a2027 100644
--- a/test/integration/smoke/test_vpc_vpn.py
+++ b/test/integration/smoke/test_vpc_vpn.py
@@ -52,7 +52,7 @@ class TestVpcRemoteAccessVpn(cloudstackTestCase):
cls.cleanup = [cls.account]
- @attr(tags=["advanced", "selfservice"])
+ @attr(tags=["advanced"], required_hardware="false")
def test_vpc_remote_access_vpn(self):
"""Test VPN in VPC"""
@@ -159,7 +159,7 @@ class TestVpcSite2SiteVpn(cloudstackTestCase):
cls.cleanup = [cls.account]
- @attr(tags=["advanced", "selfservice"], BugId="CLOUDSTACK-6879")
+ @attr(tags=["advanced"], required_hardware="false",BugId="CLOUDSTACK-6879")
def test_vpc_site2site_vpn(self):
"""Test VPN in VPC"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45db2348/tools/marvin/marvin/config/test_data.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/config/test_data.py b/tools/marvin/marvin/config/test_data.py
index 801c549..d870c98 100644
--- a/tools/marvin/marvin/config/test_data.py
+++ b/tools/marvin/marvin/config/test_data.py
@@ -890,4 +890,72 @@ test_data = {
"name": "hostantiaffinity",
"type": "host anti-affinity",
},
+ "vgpu":{
+ "disk_offering":{
+ "displaytext": "Small",
+ "name": "Small",
+ "disksize": 1
+ },
+ "account": {
+ "email": "test@test.com",
+ "firstname": "Test",
+ "lastname": "User",
+ "username": "test",
+ # Random characters are appended in create account to
+ # ensure unique username generated each time
+ "password": "password",
+ },
+ "vgpu260q": # Create a virtual machine instance with vgpu type as 260q
+ {
+ "displayname": "testserver",
+ "username": "root", # VM creds for SSH
+ "password": "password",
+ "ssh_port": 22,
+ "hypervisor": 'XenServer',
+ "privateport": 22,
+ "publicport": 22,
+ "protocol": 'TCP',
+ },
+ "vgpu140q": # Create a virtual machine instance with vgpu type as 140q
+ {
+ "displayname": "testserver",
+ "username": "root",
+ "password": "password",
+ "ssh_port": 22,
+ "hypervisor": 'XenServer',
+ "privateport": 22,
+ "publicport": 22,
+ "protocol": 'TCP',
+ },
+ "service_offerings":
+ {
+ "vgpu260qwin":
+ {
+ "name": "Windows Instance with vGPU260Q",
+ "displaytext": "Windows Instance with vGPU260Q",
+ "cpunumber": 2,
+ "cpuspeed": 1600, # in MHz
+ "memory": 3072, # In MBs
+ },
+ "vgpu140qwin":
+ {
+ # Small service offering ID to for change VM
+ # service offering from medium to small
+ "name": "Windows Instance with vGPU140Q",
+ "displaytext": "Windows Instance with vGPU140Q",
+ "cpunumber": 2,
+ "cpuspeed": 1600,
+ "memory": 3072,
+ }
+ },
+ "diskdevice": ['/dev/vdc', '/dev/vdb', '/dev/hdb', '/dev/hdc', '/dev/xvdd', '/dev/cdrom', '/dev/sr0', '/dev/cdrom1' ],
+ # Disk device where ISO is attached to instance
+ "mount_dir": "/mnt/tmp",
+ "sleep": 60,
+ "timeout": 10,
+ #Migrate VM to hostid
+ "ostype": 'Windows 7 (32-bit)',
+ # CentOS 5.3 (64-bit)
+ }
+
}