You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ta...@apache.org on 2015/01/30 11:22:53 UTC
git commit: updated refs/heads/master to 3eb5c76
Repository: cloudstack
Updated Branches:
refs/heads/master 5f16bf746 -> 3eb5c7691
CLOUDSTACK-8161: added skips for the tests which are not supported on LXC:
1. snapshot related
2. template create from volume.
3. VM create from ISO.
4. Data volume related operations on a non RBD storage.
Signed-off-by: SrikanteswaraRao Talluri <ta...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3eb5c769
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3eb5c769
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3eb5c769
Branch: refs/heads/master
Commit: 3eb5c76911532c1c019d49bf3e6f2f2cbacc92b7
Parents: 5f16bf7
Author: SrikanteswaraRao Talluri <ta...@apache.org>
Authored: Fri Jan 30 15:48:12 2015 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Fri Jan 30 15:52:33 2015 +0530
----------------------------------------------------------------------
.../component/maint/test_high_availability.py | 3 ++
.../maint/test_host_high_availability.py | 3 ++
.../maint/test_vpc_host_maintenance.py | 3 ++
.../component/test_acl_listsnapshot.py | 3 ++
.../component/test_advancedsg_networks.py | 5 +++-
.../component/test_base_image_updation.py | 3 ++
test/integration/component/test_blocker_bugs.py | 5 ++++
.../component/test_cpu_project_limits.py | 3 ++
.../component/test_escalations_snapshots.py | 2 ++
.../component/test_escalations_volumes.py | 3 ++
.../integration/component/test_memory_limits.py | 6 ++++
.../component/test_mm_project_limits.py | 5 ++++
.../component/test_project_limits.py | 11 +++++---
.../component/test_project_resources.py | 6 ++++
.../integration/component/test_project_usage.py | 7 +++++
.../component/test_ps_domain_limits.py | 8 ++++--
.../component/test_ps_project_limits.py | 4 ++-
.../component/test_ps_resize_volume.py | 2 ++
test/integration/component/test_snapshot_gc.py | 3 ++
.../component/test_snapshot_limits.py | 3 ++
test/integration/component/test_snapshots.py | 9 ++++++
.../component/test_snapshots_improvement.py | 7 +++--
test/integration/component/test_ss_limits.py | 4 +--
.../component/test_storage_motion.py | 2 +-
test/integration/component/test_tags.py | 17 ++++++++++--
test/integration/component/test_templates.py | 11 ++++++--
test/integration/component/test_usage.py | 6 ++++
test/integration/component/test_volumes.py | 29 +++++++++++++++++++-
.../testpaths/testpath_volumelifecycle.py | 6 ++++
29 files changed, 159 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/maint/test_high_availability.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_high_availability.py b/test/integration/component/maint/test_high_availability.py
index 849ba34..6fe9392 100644
--- a/test/integration/component/maint/test_high_availability.py
+++ b/test/integration/component/maint/test_high_availability.py
@@ -139,6 +139,9 @@ class TestHighAvailability(cloudstackTestCase):
cls.zone.id,
cls.services["ostype"]
)
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
cls.services["virtual_machine"]["template"] = cls.template.id
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/maint/test_host_high_availability.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_host_high_availability.py b/test/integration/component/maint/test_host_high_availability.py
index 1824e75..a4c43f0 100644
--- a/test/integration/component/maint/test_host_high_availability.py
+++ b/test/integration/component/maint/test_host_high_availability.py
@@ -102,6 +102,9 @@ class TestHostHighAvailability(cloudstackTestCase):
cls.zone.id,
cls.services["ostype"]
)
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
clusterWithSufficientHosts = None
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/maint/test_vpc_host_maintenance.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_vpc_host_maintenance.py b/test/integration/component/maint/test_vpc_host_maintenance.py
index 74d59e7..c5900eb 100644
--- a/test/integration/component/maint/test_vpc_host_maintenance.py
+++ b/test/integration/component/maint/test_vpc_host_maintenance.py
@@ -212,6 +212,9 @@ class TestVMLifeCycleHostmaintenance(cloudstackTestCase):
cls.zone.id,
cls.services["ostype"]
)
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
cls.services["virtual_machine"]["template"] = cls.template.id
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_acl_listsnapshot.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_acl_listsnapshot.py b/test/integration/component/test_acl_listsnapshot.py
index 394072d..36ec59e 100644
--- a/test/integration/component/test_acl_listsnapshot.py
+++ b/test/integration/component/test_acl_listsnapshot.py
@@ -47,6 +47,9 @@ class TestSnapshotList(cloudstackTestCase):
cls.testclient = super(TestSnapshotList, cls).getClsTestClient()
cls.apiclient = cls.testclient.getApiClient()
cls.testdata = cls.testClient.getParsedTestDataConfig()
+ cls.hypervisor = cls.testclient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
cls.acldata = cls.testdata["acl"]
cls.domain_1 = None
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_advancedsg_networks.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_advancedsg_networks.py b/test/integration/component/test_advancedsg_networks.py
index fddca9b..14cd552 100644
--- a/test/integration/component/test_advancedsg_networks.py
+++ b/test/integration/component/test_advancedsg_networks.py
@@ -2083,6 +2083,9 @@ class TestNetworksInAdvancedSG_VmOperations(cloudstackTestCase):
#Create admin account
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
+
hosts = Host.list(self.api_client, zoneid=self.zone.id)
self.assertEqual(validateList(hosts)[0], PASS, "hosts list validation failed, list is %s" % hosts)
if len(hosts) < 2:
@@ -2159,7 +2162,7 @@ class TestNetworksInAdvancedSG_VmOperations(cloudstackTestCase):
name=self.services["test_34_DeployVM_in_SecondSGNetwork"]["zone"]
)
status = validateList(zone_list)
- self.assertEquals(status[0],PASS,"Failed to list the zones")
+ self.assertEquals(status[0], PASS, "Failed to list the zones")
count = 0
"""
In simulator environment default guest os template should be in ready state immediately after the ssvm is up.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_base_image_updation.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_base_image_updation.py b/test/integration/component/test_base_image_updation.py
index 2f92bd2..c3ab595 100644
--- a/test/integration/component/test_base_image_updation.py
+++ b/test/integration/component/test_base_image_updation.py
@@ -528,6 +528,9 @@ class TestBaseImageUpdate(cloudstackTestCase):
1) New root disk should be formed
2) The recurring snapshot rule should be deleted
"""
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if self.hypervisor.lower() in ['lxc']:
+ raise self.SkipTest("Template creation from root volume is not supported in LXC")
vms = VirtualMachine.list(
self.apiclient,
id=self.vm_with_reset.id,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_blocker_bugs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_blocker_bugs.py b/test/integration/component/test_blocker_bugs.py
index 3ea7545..559b363 100644
--- a/test/integration/component/test_blocker_bugs.py
+++ b/test/integration/component/test_blocker_bugs.py
@@ -742,6 +742,8 @@ class TestTemplates(cloudstackTestCase):
cls.zone.id,
cls.services["ostype"]
)
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
cls._cleanup = []
try:
@@ -1022,6 +1024,9 @@ class TestDataPersistency(cloudstackTestCase):
cls.zone.id,
cls.services["ostype"]
)
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
#Create an account, network, VM and IP addresses
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_cpu_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_cpu_project_limits.py b/test/integration/component/test_cpu_project_limits.py
index 2173050..4bb0cff 100644
--- a/test/integration/component/test_cpu_project_limits.py
+++ b/test/integration/component/test_cpu_project_limits.py
@@ -281,6 +281,9 @@ class TestProjectsCPULimits(cloudstackTestCase):
# 2. Deploy VM with the accounts added to the project
# 3. Migrate VM of an accounts added to the project to a new host
# 4. Resource count should list properly.
+ self.hypervisor = self.testClient.getHypervisorInfo()
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("vm migrate feature is not supported on %s" % self.hypervisor.lower())
project_list = Project.list(self.apiclient, id=self.project.id, listall=True)
self.assertIsInstance(project_list,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_escalations_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_escalations_snapshots.py b/test/integration/component/test_escalations_snapshots.py
index 4b6b7f5..0645909 100644
--- a/test/integration/component/test_escalations_snapshots.py
+++ b/test/integration/component/test_escalations_snapshots.py
@@ -41,6 +41,8 @@ class TestSnapshots(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.services = cls.testClient.getParsedTestDataConfig()
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
# Get Domain, Zone, Template
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_escalations_volumes.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_escalations_volumes.py b/test/integration/component/test_escalations_volumes.py
index 1a17721..4912e74 100644
--- a/test/integration/component/test_escalations_volumes.py
+++ b/test/integration/component/test_escalations_volumes.py
@@ -45,6 +45,9 @@ class TestVolumes(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.services = cls.testClient.getParsedTestDataConfig()
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
# Get Domain, Zone, Template
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_memory_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_memory_limits.py b/test/integration/component/test_memory_limits.py
index 33236a7..4e7e5cc 100644
--- a/test/integration/component/test_memory_limits.py
+++ b/test/integration/component/test_memory_limits.py
@@ -237,6 +237,9 @@ class TestMemoryLimits(cloudstackTestCase):
# 1. Create compute offering with specified RAM & Deploy VM as root admin
# 2. List Resource count for the root admin Memory usage
# 3. Migrate vm, resource count should list properly.
+ self.hypervisor = self.testClient.getHypervisorInfo()
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("vm migrate feature is not supported on %s" % self.hypervisor.lower())
account_list = Account.list(self.apiclient, id=self.account.id)
self.assertIsInstance(account_list,
@@ -562,6 +565,9 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase):
# 2. List Resource count
# 3. Migrate instance to another host
# 4. Resource count should list properly.
+ self.hypervisor = self.testClient.getHypervisorInfo()
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("vm migrate feature is not supported on %s" % self.hypervisor.lower())
self.debug("Setting up account and domain hierarchy")
self.setupAccounts()
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_mm_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_mm_project_limits.py b/test/integration/component/test_mm_project_limits.py
index 9f0ecfe..0d5b282 100644
--- a/test/integration/component/test_mm_project_limits.py
+++ b/test/integration/component/test_mm_project_limits.py
@@ -98,6 +98,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase):
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
cls.services["mode"] = cls.zone.networktype
cls.template = get_template(
@@ -283,6 +284,10 @@ class TestProjectsMemoryLimits(cloudstackTestCase):
# 3. Migrate VM of an accounts added to the project to a new host
# 4. Resource count should list properly.
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("vm migrate feature is not supported on %s" % self.hypervisor.lower())
+
+
self.debug("Checking memory resource count for project: %s" % self.project.name)
project_list = Project.list(self.apiclient, id=self.project.id, listall=True)
self.debug(project_list)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_limits.py b/test/integration/component/test_project_limits.py
index adae047..e3aacd3 100644
--- a/test/integration/component/test_project_limits.py
+++ b/test/integration/component/test_project_limits.py
@@ -43,8 +43,8 @@ from marvin.lib.common import (get_domain,
list_configurations,
list_resource_limits,
update_resource_limit,
- get_builtin_template_info
- )
+ get_builtin_template_info,
+ find_storage_pool_type)
from marvin.codes import PASS
import time
@@ -758,8 +758,8 @@ class TestResourceLimitsProject(cloudstackTestCase):
# 5. Try to create another snapshot in this project. It should give
# user an appropriate error and an alert should be generated.
- if self.hypervisor.lower() in ['hyperv']:
- raise self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ raise self.skipTest("Snapshots feature is not supported on %s" % self.hypervisor.lower())
self.debug(
"Updating snapshot resource limits for project: %s" %
self.project.id)
@@ -835,6 +835,9 @@ class TestResourceLimitsProject(cloudstackTestCase):
# an appropriate error that Volume limit is exhausted and an alert
# should be generated.
+ if self.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(self.apiclient, storagetype='rbd'):
+ self.SkipTest("RBD storage type is required for data volumes for LXC")
self.project_1 = Project.create(
self.api_client,
self.services["project"],
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_project_resources.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_resources.py b/test/integration/component/test_project_resources.py
index cf4e134..6da36ae 100644
--- a/test/integration/component/test_project_resources.py
+++ b/test/integration/component/test_project_resources.py
@@ -548,6 +548,9 @@ class TestTemplates(cloudstackTestCase):
cls.services = Services().services
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("create template from volume is not supported on %s" % cls.hypervisor.lower())
cls.template = get_template(
cls.api_client,
@@ -783,6 +786,9 @@ class TestSnapshots(cloudstackTestCase):
cls.services = Services().services
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
cls.template = get_template(
cls.api_client,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_project_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_usage.py b/test/integration/component/test_project_usage.py
index 29d381a..f74b6aa 100644
--- a/test/integration/component/test_project_usage.py
+++ b/test/integration/component/test_project_usage.py
@@ -509,6 +509,10 @@ class TestVolumeUsage(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -1259,6 +1263,9 @@ class TestSnapshotUsage(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
template = get_template(
cls.api_client,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_ps_domain_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ps_domain_limits.py b/test/integration/component/test_ps_domain_limits.py
index f9aa023..42b115e 100644
--- a/test/integration/component/test_ps_domain_limits.py
+++ b/test/integration/component/test_ps_domain_limits.py
@@ -447,6 +447,10 @@ class TestMultipleChildDomain(cloudstackTestCase):
"""
# Setting up account and domain hierarchy
+
+ if self.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(self.apiclient, storagetype='rbd'):
+ self.SkipTest("RBD storage type is required for data volumes for LXC")
result = self.setupAccounts()
if result[0] == FAIL:
self.fail(
@@ -563,8 +567,8 @@ class TestMultipleChildDomain(cloudstackTestCase):
# 5. Delete volume which was created from snapshot and verify primary storage
resource count"""
- if self.hypervisor.lower() in ['hyperv']:
- self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ self.skipTest("Snapshots feature is not supported on %s" % self.hypervisor.lower())
result = self.setupAccounts()
if result[0] == FAIL:
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_ps_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ps_project_limits.py b/test/integration/component/test_ps_project_limits.py
index bab37f6..c79e3b8 100644
--- a/test/integration/component/test_ps_project_limits.py
+++ b/test/integration/component/test_ps_project_limits.py
@@ -182,7 +182,9 @@ class TestProjectsVolumeLimits(cloudstackTestCase):
# initial primary storage count
# 2. List the hosts suitable for migrating the VM
# 3. Migrate the VM and verify that primary storage count of project remains same"""
-
+ self.hypervisor = self.testClient.getHypervisorInfo()
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("vm migrate feature is not supported on %s" % self.hypervisor.lower())
try:
hosts = Host.list(self.apiclient,virtualmachineid=self.vm.id,
listall=True)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_ps_resize_volume.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ps_resize_volume.py b/test/integration/component/test_ps_resize_volume.py
index bff1672..d70f425 100644
--- a/test/integration/component/test_ps_resize_volume.py
+++ b/test/integration/component/test_ps_resize_volume.py
@@ -64,6 +64,8 @@ class TestResizeVolume(cloudstackTestCase):
cls.resourcetypemapping = {RESOURCE_PRIMARY_STORAGE: 10,
RESOURCE_SECONDARY_STORAGE: 11}
+
+
cls.template = get_template(
cls.api_client,
cls.zone.id,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_snapshot_gc.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshot_gc.py b/test/integration/component/test_snapshot_gc.py
index 064850e..21a23e5 100644
--- a/test/integration/component/test_snapshot_gc.py
+++ b/test/integration/component/test_snapshot_gc.py
@@ -139,6 +139,9 @@ class TestAccountSnapshotClean(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
template = get_template(
cls.api_client,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_snapshot_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshot_limits.py b/test/integration/component/test_snapshot_limits.py
index 40849ee..6d8c980 100644
--- a/test/integration/component/test_snapshot_limits.py
+++ b/test/integration/component/test_snapshot_limits.py
@@ -139,6 +139,9 @@ class TestSnapshotLimit(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
cls._cleanup = []
try:
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshots.py b/test/integration/component/test_snapshots.py
index bb93d8d..b4eea0d 100644
--- a/test/integration/component/test_snapshots.py
+++ b/test/integration/component/test_snapshots.py
@@ -167,6 +167,9 @@ class TestSnapshots(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -969,6 +972,9 @@ class TestCreateVMSnapshotTemplate(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
cls.template = get_template(
cls.api_client,
@@ -1183,6 +1189,9 @@ class TestSnapshotEvents(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
template = get_template(
cls.api_client,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_snapshots_improvement.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshots_improvement.py b/test/integration/component/test_snapshots_improvement.py
index 1fd4239..39b96b4 100644
--- a/test/integration/component/test_snapshots_improvement.py
+++ b/test/integration/component/test_snapshots_improvement.py
@@ -133,6 +133,9 @@ class TestSnapshotOnRootVolume(cloudstackTestCase):
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("snapshots are not supported on %s" % cls.hypervisor.lower())
cls.template = get_template(
cls.api_client,
cls.zone.id,
@@ -304,8 +307,8 @@ class TestCreateSnapshot(cloudstackTestCase):
cls.testClient = super(TestCreateSnapshot, cls).getClsTestClient()
cls.api_client = cls.testClient.getApiClient()
cls.hypervisor = cls.testClient.getHypervisorInfo()
- if cls.hypervisor.lower() in ['hyperv']:
- raise unittest.SkipTest("Snapshots feature is not supported on Hyper-V")
+ if cls.hypervisor.lower() in ['hyperv', 'lxc']:
+ raise unittest.SkipTest("Snapshots feature is not supported on %s" % cls.hypervisor.lower())
cls.services = Services().services
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_ss_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ss_limits.py b/test/integration/component/test_ss_limits.py
index 32201d8..8662cd5 100644
--- a/test/integration/component/test_ss_limits.py
+++ b/test/integration/component/test_ss_limits.py
@@ -206,8 +206,8 @@ class TestSecondaryStorageLimits(cloudstackTestCase):
5. Verify that the secondary storage count of the account equals
the size of the template"""
- if self.hypervisor.lower() in ['hyperv']:
- self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ self.skipTest("Snapshots feature is not supported on %s" % self.hypervisor.lower())
response = self.setupAccount(value)
self.assertEqual(response[0], PASS, response[1])
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_storage_motion.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_storage_motion.py b/test/integration/component/test_storage_motion.py
index 163b447..6450d06 100644
--- a/test/integration/component/test_storage_motion.py
+++ b/test/integration/component/test_storage_motion.py
@@ -242,7 +242,7 @@ class TestStorageMotion(cloudstackTestCase):
# 3. Migrate volume of the vm to another pool.
# 4. Check volume is present in the new pool and is in Ready state.
- # TODO: add test case for data volume migrate
+ # TODO: add test case for data volume migrate and handle it for LXC
list_volumes_response = list_volumes(
self.apiclient,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_tags.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_tags.py b/test/integration/component/test_tags.py
index e323578..faffe2a 100644
--- a/test/integration/component/test_tags.py
+++ b/test/integration/component/test_tags.py
@@ -39,7 +39,8 @@ from marvin.lib.base import (Tag,
Project)
from marvin.lib.common import (get_zone,
get_domain,
- get_template)
+ get_template,
+ find_storage_pool_type)
from marvin.codes import FAILED
import time
@@ -949,6 +950,9 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on template/ISO using createTags API
# 2. Delete above created tag using deleteTags API
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("template creation from volume feature is not supported on %s" % self.hypervisor.lower())
+
try:
self.debug("Stopping the virtual machine: %s" % self.vm_1.name)
# Stop virtual machine
@@ -1151,6 +1155,10 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on volume using createTags API
# 2. Delete above created tag using deleteTags API
+ if self.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(self.apiclient, storagetype='rbd'):
+ self.SkipTest("RBD storage type is required for data volumes for LXC")
+
self.debug("Creating volume for account: %s " %
self.account.name)
volume = Volume.create(
@@ -1240,8 +1248,8 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on snapshot using createTags API
# 2. Delete above created tag using deleteTags API
- if self.hypervisor.lower() in ['hyperv']:
- self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ self.skipTest("Snapshots feature is not supported on %s" % self.hypervisor.lower())
self.debug("Creating snapshot on ROOT volume for VM: %s " %
self.vm_1.name)
@@ -1441,6 +1449,9 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on VM using createTags API
# 2. Delete above created tag using deleteTags API
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("vm migrate feature is not supported on %s" % self.hypervisor.lower())
+
vms = VirtualMachine.list(
self.apiclient,
id=self.vm_1.id,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_templates.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_templates.py b/test/integration/component/test_templates.py
index 06b8c5f..eafc1bb 100644
--- a/test/integration/component/test_templates.py
+++ b/test/integration/component/test_templates.py
@@ -109,7 +109,6 @@ class TestCreateTemplate(cloudstackTestCase):
def setUp(self):
self.apiclient = self.testClient.getApiClient()
- self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection()
self.cleanup = []
return
@@ -133,6 +132,9 @@ class TestCreateTemplate(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
cls.service_offering = ServiceOffering.create(
@@ -290,6 +292,9 @@ class TestTemplates(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() in ['lxc']:
+ raise unittest.SkipTest("Template creation from root volume is not supported in LXC")
#populate second zone id for iso copy
cmd = listZones.listZonesCmd()
zones = cls.api_client.listZones(cmd)
@@ -495,8 +500,8 @@ class TestTemplates(cloudstackTestCase):
# 4. Deploy Virtual machine using this template
# 5. VM should be in running state
- if self.hypervisor.lower() in ['hyperv']:
- self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ self.skipTest("Snapshots feature is not supported on %s" % self.hypervisor.lower())
userapiclient = self.testClient.getUserApiClient(
UserName=self.account.name,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_usage.py b/test/integration/component/test_usage.py
index 262a371..480ff53 100644
--- a/test/integration/component/test_usage.py
+++ b/test/integration/component/test_usage.py
@@ -492,6 +492,10 @@ class TestVolumeUsage(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -1174,6 +1178,8 @@ class TestSnapshotUsage(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ if cls.hypervisor.lower() == 'lxc':
+ raise unittest.SkipTest("snapshots are not supported on LXC")
template = get_template(
cls.api_client,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/component/test_volumes.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_volumes.py b/test/integration/component/test_volumes.py
index 77cad54..80338de 100644
--- a/test/integration/component/test_volumes.py
+++ b/test/integration/component/test_volumes.py
@@ -36,7 +36,8 @@ from marvin.lib.base import (Account,
from marvin.lib.common import (get_domain,
get_zone,
get_template,
- get_pod)
+ get_pod,
+ find_storage_pool_type)
from marvin.codes import PASS
# Import System modules
import time
@@ -113,6 +114,10 @@ class TestAttachVolume(cloudstackTestCase):
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.pod = get_pod(cls.api_client, cls.zone.id)
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -374,6 +379,10 @@ class TestAttachDetachVolume(cloudstackTestCase):
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.pod = get_pod(cls.api_client, cls.zone.id)
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -603,6 +612,10 @@ class TestAttachVolumeISO(cloudstackTestCase):
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.pod = get_pod(cls.api_client, cls.zone.id)
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -691,6 +704,8 @@ class TestAttachVolumeISO(cloudstackTestCase):
# 3. Verify that attach ISO is successful
# Create 5 volumes and attach to VM
+ if self.hypervisor.lower() in ["lxc"]:
+ self.skipTest("attach ISO is not supported on LXC")
for i in range(self.max_data_volumes):
volume = Volume.create(
self.apiclient,
@@ -815,6 +830,10 @@ class TestVolumes(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
@@ -1128,6 +1147,10 @@ class TestDeployVmWithCustomDisk(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"],
@@ -1262,6 +1285,10 @@ class TestMigrateVolume(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.services['mode'] = cls.zone.networktype
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
cls.disk_offering = DiskOffering.create(
cls.api_client,
cls.services["disk_offering"]
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3eb5c769/test/integration/testpaths/testpath_volumelifecycle.py
----------------------------------------------------------------------
diff --git a/test/integration/testpaths/testpath_volumelifecycle.py b/test/integration/testpaths/testpath_volumelifecycle.py
index 526d20c..c5a537f 100644
--- a/test/integration/testpaths/testpath_volumelifecycle.py
+++ b/test/integration/testpaths/testpath_volumelifecycle.py
@@ -126,6 +126,12 @@ class TestPathVolume(cloudstackTestCase):
cls.domain = get_domain(cls.apiclient)
cls.zone = get_zone(cls.apiclient)
cls.testdata["mode"] = cls.zone.networktype
+ cls.hypervisor = testClient.getHypervisorInfo()
+ #for LXC if the storage pool of type 'rbd' ex: ceph is not available, skip the test
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for %s" % cls.hypervisor.lower())
+
cls.template = get_template(
cls.apiclient,
cls.zone.id,