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/05 14:12:42 UTC

[05/10] git commit: updated refs/heads/master to 22d6565

CLOUDSTACK-8124: Skipping snapshot tests on hyperv hypervisor

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/214d63ee
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/214d63ee
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/214d63ee

Branch: refs/heads/master
Commit: 214d63ee1eb393168c2f91a646a775cdaeb5cae8
Parents: 7f10e6f
Author: Gaurav Aradhye <ga...@clogeny.com>
Authored: Wed Dec 24 16:30:28 2014 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Mon Jan 5 18:04:37 2015 +0530

----------------------------------------------------------------------
 .../component/test_project_limits.py            |    6 +-
 .../component/test_ps_domain_limits.py          |  480 +--
 test/integration/component/test_ps_limits.py    |    4 +-
 .../component/test_resource_limits.py           |   11 +-
 test/integration/component/test_snapshots.py    | 1504 +++++-----
 test/integration/component/test_ss_limits.py    |    4 +
 test/integration/component/test_tags.py         | 2774 +++++++++---------
 test/integration/component/test_templates.py    |    5 +-
 test/integration/component/test_usage.py        | 1469 +++++-----
 9 files changed, 3240 insertions(+), 3017 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/214d63ee/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 d4fb92d..adae047 100644
--- a/test/integration/component/test_project_limits.py
+++ b/test/integration/component/test_project_limits.py
@@ -18,7 +18,7 @@
 """
 #Import Local Modules
 from nose.plugins.attrib import attr
-from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.cloudstackTestCase import cloudstackTestCase,unittest
 #from marvin.cloudstackAPI import *
 from marvin.lib.utils import (cleanup_resources,
                               validateList)
@@ -522,7 +522,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
     def setUpClass(cls):
         cls.testClient = super(TestResourceLimitsProject, cls).getClsTestClient()
         cls.api_client = cls.testClient.getApiClient()
-
+        cls.hypervisor = cls.testClient.getHypervisorInfo()
         cls.services = Services().services
         cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
@@ -758,6 +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")
         self.debug(
             "Updating snapshot resource limits for project: %s" %
                                         self.project.id)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/214d63ee/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 268174f..f9aa023 100644
--- a/test/integration/component/test_ps_domain_limits.py
+++ b/test/integration/component/test_ps_domain_limits.py
@@ -46,25 +46,29 @@ from marvin.codes import (PASS,
                           FAILED,
                           RESOURCE_PRIMARY_STORAGE)
 
+
 class TestMultipleChildDomain(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
         cloudstackTestClient = super(TestMultipleChildDomain,
-                               cls).getClsTestClient()
+                                     cls).getClsTestClient()
         cls.api_client = cloudstackTestClient.getApiClient()
+        cls.hypervisor = cloudstackTestClient.getHypervisorInfo()
         # Fill services from the external config file
         cls.services = cloudstackTestClient.getParsedTestDataConfig()
         # Get Zone, Domain and templates
         cls.domain = get_domain(cls.api_client)
-        cls.zone = get_zone(cls.api_client, cloudstackTestClient.getZoneForTests())
+        cls.zone = get_zone(
+            cls.api_client,
+            cloudstackTestClient.getZoneForTests())
         cls.services["mode"] = cls.zone.networktype
 
         cls.template = get_template(
-                            cls.api_client,
-                            cls.zone.id,
-                            cls.services["ostype"]
-                            )
+            cls.api_client,
+            cls.zone.id,
+            cls.services["ostype"]
+        )
 
         cls.services["virtual_machine"]["zoneid"] = cls.zone.id
         cls.services["virtual_machine"]["template"] = cls.template.id
@@ -72,8 +76,9 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
         cls._cleanup = []
         try:
-            cls.service_offering = ServiceOffering.create(cls.api_client,
-                    cls.services["service_offering"])
+            cls.service_offering = ServiceOffering.create(
+                cls.api_client,
+                cls.services["service_offering"])
             cls._cleanup.append(cls.service_offering)
         except Exception as e:
             cls.tearDownClass()
@@ -96,11 +101,11 @@ class TestMultipleChildDomain(cloudstackTestCase):
         self.services["disk_offering"]["disksize"] = 5
         try:
             self.disk_offering = DiskOffering.create(
-                                    self.apiclient,
-                                    self.services["disk_offering"]
-                                    )
-            self.assertNotEqual(self.disk_offering, None, \
-                    "Disk offering is None")
+                self.apiclient,
+                self.services["disk_offering"]
+            )
+            self.assertNotEqual(self.disk_offering, None,
+                                "Disk offering is None")
             self.cleanup.append(self.disk_offering)
         except Exception as e:
             self.tearDown()
@@ -121,44 +126,56 @@ class TestMultipleChildDomain(cloudstackTestCase):
         child domains"""
 
         try:
-            #Update resource limit for domain
+            # Update resource limit for domain
             Resources.updateLimit(self.apiclient, resourcetype=10,
-                              max=parentdomainlimit,
-                              domainid=self.parent_domain.id)
+                                  max=parentdomainlimit,
+                                  domainid=self.parent_domain.id)
 
             # Update Resource limit for sub-domains
             Resources.updateLimit(self.apiclient, resourcetype=10,
-                              max=subdomainlimit,
-                              domainid=self.cadmin_1.domainid)
+                                  max=subdomainlimit,
+                                  domainid=self.cadmin_1.domainid)
 
             Resources.updateLimit(self.apiclient, resourcetype=10,
-                              max=subdomainlimit,
-                              domainid=self.cadmin_2.domainid)
+                                  max=subdomainlimit,
+                                  domainid=self.cadmin_2.domainid)
         except Exception as e:
             return [FAIL, e]
         return [PASS, None]
 
     def setupAccounts(self):
         try:
-            self.parent_domain = Domain.create(self.apiclient,
-                                        services=self.services["domain"],
-                                        parentdomainid=self.domain.id)
-            self.parentd_admin = Account.create(self.apiclient, self.services["account"],
-                                            admin=True, domainid=self.parent_domain.id)
+            self.parent_domain = Domain.create(
+                self.apiclient,
+                services=self.services["domain"],
+                parentdomainid=self.domain.id)
+            self.parentd_admin = Account.create(
+                self.apiclient,
+                self.services["account"],
+                admin=True,
+                domainid=self.parent_domain.id)
 
             # Create sub-domains and their admin accounts
-            self.cdomain_1 = Domain.create(self.apiclient,
-                                       services=self.services["domain"],
-                                       parentdomainid=self.parent_domain.id)
-            self.cdomain_2 = Domain.create(self.apiclient,
-                                        services=self.services["domain"],
-                                        parentdomainid=self.parent_domain.id)
-
-            self.cadmin_1 = Account.create(self.apiclient, self.services["account"],
-                                       admin=True, domainid=self.cdomain_1.id)
-
-            self.cadmin_2 = Account.create(self.apiclient, self.services["account"],
-                                       admin=True, domainid=self.cdomain_2.id)
+            self.cdomain_1 = Domain.create(
+                self.apiclient,
+                services=self.services["domain"],
+                parentdomainid=self.parent_domain.id)
+            self.cdomain_2 = Domain.create(
+                self.apiclient,
+                services=self.services["domain"],
+                parentdomainid=self.parent_domain.id)
+
+            self.cadmin_1 = Account.create(
+                self.apiclient,
+                self.services["account"],
+                admin=True,
+                domainid=self.cdomain_1.id)
+
+            self.cadmin_2 = Account.create(
+                self.apiclient,
+                self.services["account"],
+                admin=True,
+                domainid=self.cdomain_2.id)
 
             # Cleanup the resources created at end of test
             self.cleanup.append(self.cadmin_1)
@@ -169,14 +186,14 @@ class TestMultipleChildDomain(cloudstackTestCase):
             self.cleanup.append(self.parent_domain)
 
             users = {
-                 self.cdomain_1: self.cadmin_1,
-                 self.cdomain_2: self.cadmin_2
-                 }
+                self.cdomain_1: self.cadmin_1,
+                self.cdomain_2: self.cadmin_2
+            }
         except Exception as e:
             return [FAIL, e, None]
         return [PASS, None, users]
 
-    @attr(tags=["advanced","selfservice"])
+    @attr(tags=["advanced", "selfservice"])
     def test_01_multiple_domains_primary_storage_limits(self):
         """Test primary storage limit of domain and its sub-domains
 
@@ -204,73 +221,97 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
         # Setting up account and domain hierarchy
         result = self.setupAccounts()
-        self.assertEqual(result[0], PASS,\
-            "Failure while setting up accounts and domains: %s" % result[1])
+        self.assertEqual(
+            result[0],
+            PASS,
+            "Failure while setting up accounts and domains: %s" %
+            result[1])
 
-        templatesize = (self.template.size / (1024**3))
+        templatesize = (self.template.size / (1024 ** 3))
         disksize = 10
         subdomainlimit = (templatesize + disksize)
 
-        result = self.updateDomainResourceLimits(((subdomainlimit*3)- 1), subdomainlimit)
-        self.assertEqual(result[0], PASS,\
-            "Failure while updating resource limits: %s" % result[1])
+        result = self.updateDomainResourceLimits(
+            ((subdomainlimit * 3) - 1),
+            subdomainlimit)
+        self.assertEqual(
+            result[0],
+            PASS,
+            "Failure while updating resource limits: %s" %
+            result[1])
 
         try:
             self.services["disk_offering"]["disksize"] = disksize
-            disk_offering_custom = DiskOffering.create(self.apiclient,
-                                    services=self.services["disk_offering"])
+            disk_offering_custom = DiskOffering.create(
+                self.apiclient,
+                services=self.services["disk_offering"])
             self.cleanup.append(disk_offering_custom)
         except Exception as e:
             self.fail("Failed to create disk offering")
 
         # Get API clients of parent and child domain admin accounts
         api_client_admin = self.testClient.getUserApiClient(
-                        UserName=self.parentd_admin.name,
-                        DomainName=self.parentd_admin.domain)
-        self.assertNotEqual(api_client_admin, FAILED,\
-            "Failed to create api client for account: %s" % self.parentd_admin.name)
+            UserName=self.parentd_admin.name,
+            DomainName=self.parentd_admin.domain)
+        self.assertNotEqual(
+            api_client_admin,
+            FAILED,
+            "Failed to create api client for account: %s" %
+            self.parentd_admin.name)
 
         api_client_cadmin_1 = self.testClient.getUserApiClient(
-                                UserName=self.cadmin_1.name,
-                                DomainName=self.cadmin_1.domain)
-        self.assertNotEqual(api_client_cadmin_1, FAILED,\
-            "Failed to create api client for account: %s" % self.cadmin_1.name)
+            UserName=self.cadmin_1.name,
+            DomainName=self.cadmin_1.domain)
+        self.assertNotEqual(
+            api_client_cadmin_1,
+            FAILED,
+            "Failed to create api client for account: %s" %
+            self.cadmin_1.name)
 
         api_client_cadmin_2 = self.testClient.getUserApiClient(
-                                UserName=self.cadmin_2.name,
-                                DomainName=self.cadmin_2.domain)
-        self.assertNotEqual(api_client_cadmin_2, FAILED,\
-            "Failed to create api client for account: %s" % self.cadmin_2.name)
+            UserName=self.cadmin_2.name,
+            DomainName=self.cadmin_2.domain)
+        self.assertNotEqual(
+            api_client_cadmin_2,
+            FAILED,
+            "Failed to create api client for account: %s" %
+            self.cadmin_2.name)
 
         VirtualMachine.create(
-                api_client_cadmin_1, self.services["virtual_machine"],
-                accountid=self.cadmin_1.name, domainid=self.cadmin_1.domainid,
-                diskofferingid=disk_offering_custom.id, serviceofferingid=self.service_offering.id
-                )
+            api_client_cadmin_1,
+            self.services["virtual_machine"],
+            accountid=self.cadmin_1.name,
+            domainid=self.cadmin_1.domainid,
+            diskofferingid=disk_offering_custom.id,
+            serviceofferingid=self.service_offering.id)
 
         self.initialResourceCount = (templatesize + disksize)
         result = isDomainResourceCountEqualToExpectedCount(
-                        self.apiclient, self.parent_domain.id,
-                        self.initialResourceCount, RESOURCE_PRIMARY_STORAGE)
+            self.apiclient, self.parent_domain.id,
+            self.initialResourceCount, RESOURCE_PRIMARY_STORAGE)
         self.assertFalse(result[0], result[1])
         self.assertTrue(result[2], "Resource count does not match")
 
         # Create VM in second child domain
         vm_2 = VirtualMachine.create(
-                api_client_cadmin_2, self.services["virtual_machine"],
-                accountid=self.cadmin_2.name, domainid=self.cadmin_2.domainid,
-                diskofferingid=disk_offering_custom.id, serviceofferingid=self.service_offering.id
-                )
+            api_client_cadmin_2,
+            self.services["virtual_machine"],
+            accountid=self.cadmin_2.name,
+            domainid=self.cadmin_2.domainid,
+            diskofferingid=disk_offering_custom.id,
+            serviceofferingid=self.service_offering.id)
 
         # Now the VMs in two child domains have exhausted the primary storage limit
         # of parent domain, hence VM creation in parent domain with custom disk offering
         # should fail
         with self.assertRaises(Exception):
             VirtualMachine.create(
-                    api_client_admin, self.services["virtual_machine"],
-                    accountid=self.parentd_admin.name, domainid=self.parentd_admin.domainid,
-                    diskofferingid=disk_offering_custom.id, serviceofferingid=self.service_offering.id
-                    )
+                api_client_admin,
+                self.services["virtual_machine"],
+                accountid=self.parentd_admin.name,
+                domainid=self.parentd_admin.domainid,
+                diskofferingid=disk_offering_custom.id,
+                serviceofferingid=self.service_offering.id)
 
         # Deleting user account
         self.cadmin_1.delete(self.apiclient)
@@ -278,8 +319,8 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
         expectedCount = self.initialResourceCount
         result = isDomainResourceCountEqualToExpectedCount(
-                        self.apiclient, self.parent_domain.id,
-                        expectedCount, RESOURCE_PRIMARY_STORAGE)
+            self.apiclient, self.parent_domain.id,
+            expectedCount, RESOURCE_PRIMARY_STORAGE)
         self.assertFalse(result[0], result[1])
         self.assertTrue(result[2], "Resource count does not match")
 
@@ -293,8 +334,8 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
         expectedCount = 0
         result = isDomainResourceCountEqualToExpectedCount(
-                    self.apiclient, self.parent_domain.id,
-                    expectedCount, RESOURCE_PRIMARY_STORAGE)
+            self.apiclient, self.parent_domain.id,
+            expectedCount, RESOURCE_PRIMARY_STORAGE)
         self.assertFalse(result[0], result[1])
         self.assertTrue(result[2], "Resource count does not match")
         return
@@ -315,68 +356,79 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
         # Setting up account and domain hierarchy
         result = self.setupAccounts()
-        self.assertEqual(result[0], PASS,\
-            "Failure while setting up accounts and domains: %s" % result[1])
+        self.assertEqual(
+            result[0],
+            PASS,
+            "Failure while setting up accounts and domains: %s" %
+            result[1])
         users = result[2]
 
-        templatesize = (self.template.size / (1024**3))
+        templatesize = (self.template.size / (1024 ** 3))
 
         for domain, admin in users.items():
             self.account = admin
             self.domain = domain
 
             apiclient = self.testClient.getUserApiClient(
-                                UserName=self.account.name,
-                                DomainName=self.account.domain)
-            self.assertNotEqual(apiclient, FAILED,\
-            "Failed to create api client for account: %s" % self.account.name)
+                UserName=self.account.name,
+                DomainName=self.account.domain)
+            self.assertNotEqual(
+                apiclient,
+                FAILED,
+                "Failed to create api client for account: %s" %
+                self.account.name)
             try:
                 vm = VirtualMachine.create(
-                        apiclient, self.services["virtual_machine"],
-                        accountid=self.account.name, domainid=self.account.domainid,
-                        diskofferingid=self.disk_offering.id, serviceofferingid=self.service_offering.id
-                        )
+                    apiclient,
+                    self.services["virtual_machine"],
+                    accountid=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=self.disk_offering.id,
+                    serviceofferingid=self.service_offering.id)
 
                 expectedCount = templatesize + self.disk_offering.disksize
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 # Creating service offering with 10 GB volume
                 self.services["disk_offering"]["disksize"] = 10
-                disk_offering_10_GB = DiskOffering.create(self.apiclient,
-                                    services=self.services["disk_offering"])
+                disk_offering_10_GB = DiskOffering.create(
+                    self.apiclient,
+                    services=self.services["disk_offering"])
 
                 self.cleanup.append(disk_offering_10_GB)
 
                 volume = Volume.create(
-                            apiclient, self.services["volume"],
-                            zoneid=self.zone.id, account=self.account.name,
-                            domainid=self.account.domainid, diskofferingid=disk_offering_10_GB.id
-                            )
-
-                volumeSize = (volume.size / (1024**3))
+                    apiclient,
+                    self.services["volume"],
+                    zoneid=self.zone.id,
+                    account=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=disk_offering_10_GB.id)
+
+                volumeSize = (volume.size / (1024 ** 3))
                 expectedCount += volumeSize
 
-       	        vm.attach_volume(apiclient, volume=volume)
+                vm.attach_volume(apiclient, volume=volume)
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 expectedCount -= volumeSize
                 vm.detach_volume(apiclient, volume=volume)
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
             except Exception as e:
                 self.fail("Failure: %s" % e)
-	    return
+            return
 
     @attr(tags=["advanced"], required_hardware="false")
     def test_03_multiple_domains_multiple_volumes(self):
@@ -397,67 +449,80 @@ class TestMultipleChildDomain(cloudstackTestCase):
         # Setting up account and domain hierarchy
         result = self.setupAccounts()
         if result[0] == FAIL:
-            self.fail("Failure while setting up accounts and domains: %s" % result[1])
+            self.fail(
+                "Failure while setting up accounts and domains: %s" %
+                result[1])
         else:
             users = result[2]
 
-        templatesize = (self.template.size / (1024**3))
+        templatesize = (self.template.size / (1024 ** 3))
 
         for domain, admin in users.items():
             self.account = admin
             self.domain = domain
 
             apiclient = self.testClient.getUserApiClient(
-                                UserName=self.account.name,
-                                DomainName=self.account.domain)
-            self.assertNotEqual(apiclient, FAILED,\
-            "Failed to create api client for account: %s" % self.account.name)
+                UserName=self.account.name,
+                DomainName=self.account.domain)
+            self.assertNotEqual(
+                apiclient,
+                FAILED,
+                "Failed to create api client for account: %s" %
+                self.account.name)
 
             try:
                 vm = VirtualMachine.create(
-                        apiclient, self.services["virtual_machine"],
-                        accountid=self.account.name, domainid=self.account.domainid,
-                        diskofferingid=self.disk_offering.id, serviceofferingid=self.service_offering.id
-                        )
+                    apiclient,
+                    self.services["virtual_machine"],
+                    accountid=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=self.disk_offering.id,
+                    serviceofferingid=self.service_offering.id)
 
                 expectedCount = templatesize + self.disk_offering.disksize
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 volume1size = self.services["disk_offering"]["disksize"] = 15
-                disk_offering_15_GB = DiskOffering.create(self.apiclient,
-                                    services=self.services["disk_offering"])
+                disk_offering_15_GB = DiskOffering.create(
+                    self.apiclient,
+                    services=self.services["disk_offering"])
 
                 self.cleanup.append(disk_offering_15_GB)
 
                 volume2size = self.services["disk_offering"]["disksize"] = 20
-                disk_offering_20_GB = DiskOffering.create(self.apiclient,
-                                    services=self.services["disk_offering"])
+                disk_offering_20_GB = DiskOffering.create(
+                    self.apiclient,
+                    services=self.services["disk_offering"])
 
                 self.cleanup.append(disk_offering_20_GB)
 
                 volume_1 = Volume.create(
-                            apiclient, self.services["volume"],
-                            zoneid=self.zone.id, account=self.account.name,
-                            domainid=self.account.domainid, diskofferingid=disk_offering_15_GB.id
-                            )
+                    apiclient,
+                    self.services["volume"],
+                    zoneid=self.zone.id,
+                    account=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=disk_offering_15_GB.id)
 
                 volume_2 = Volume.create(
-                            apiclient, self.services["volume"],
-                            zoneid=self.zone.id, account=self.account.name,
-                            domainid=self.account.domainid, diskofferingid=disk_offering_20_GB.id
-                            )
+                    apiclient,
+                    self.services["volume"],
+                    zoneid=self.zone.id,
+                    account=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=disk_offering_20_GB.id)
 
                 vm.attach_volume(apiclient, volume=volume_1)
                 vm.attach_volume(apiclient, volume=volume_2)
 
                 expectedCount += volume1size + volume2size
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
@@ -466,16 +531,16 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
                 expectedCount -= volume1size
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 expectedCount -= volume2size
                 vm.detach_volume(apiclient, volume=volume_2)
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
             except Exception as e:
@@ -498,9 +563,14 @@ 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")
+
         result = self.setupAccounts()
         if result[0] == FAIL:
-            self.fail("Failure while setting up accounts and domains: %s" % result[1])
+            self.fail(
+                "Failure while setting up accounts and domains: %s" %
+                result[1])
         users = result[2]
 
         for domain, admin in users.items():
@@ -509,62 +579,75 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
             try:
                 apiclient = self.testClient.getUserApiClient(
-                                UserName=self.account.name,
-                                DomainName=self.account.domain)
-                self.assertNotEqual(apiclient, FAILED,\
-                 "Failed to create api client for account: %s" % self.account.name)
+                    UserName=self.account.name,
+                    DomainName=self.account.domain)
+                self.assertNotEqual(
+                    apiclient,
+                    FAILED,
+                    "Failed to create api client for account: %s" %
+                    self.account.name)
 
                 vm = VirtualMachine.create(
-                            apiclient, self.services["virtual_machine"],
-                            accountid=self.account.name, domainid=self.account.domainid,
-                            diskofferingid=self.disk_offering.id, serviceofferingid=self.service_offering.id
-                            )
+                    apiclient,
+                    self.services["virtual_machine"],
+                    accountid=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=self.disk_offering.id,
+                    serviceofferingid=self.service_offering.id)
 
-                templatesize = (self.template.size / (1024**3))
+                templatesize = (self.template.size / (1024 ** 3))
 
-                initialResourceCount = expectedCount = templatesize + self.disk_offering.disksize
+                initialResourceCount = expectedCount = templatesize + \
+                    self.disk_offering.disksize
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            initialResourceCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    initialResourceCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 vm.stop(self.apiclient)
 
-                response = createSnapshotFromVirtualMachineVolume(apiclient, self.account, vm.id)
+                response = createSnapshotFromVirtualMachineVolume(
+                    apiclient,
+                    self.account,
+                    vm.id)
                 self.assertEqual(response[0], PASS, response[1])
                 snapshot = response[1]
 
-                response = snapshot.validateState(apiclient, Snapshot.BACKED_UP)
+                response = snapshot.validateState(
+                    apiclient,
+                    Snapshot.BACKED_UP)
                 self.assertEqual(response[0], PASS, response[1])
 
-                self.services["volume"]["size"] = self.services["disk_offering"]["disksize"]
-                volume = Volume.create_from_snapshot(apiclient,
-                                        snapshot_id=snapshot.id,
-                                        services=self.services["volume"],
-                                        account=self.account.name,
-                                        domainid=self.account.domainid)
-                volumeSize = (volume.size / (1024**3))
+                self.services["volume"]["size"] = self.services[
+                    "disk_offering"]["disksize"]
+                volume = Volume.create_from_snapshot(
+                    apiclient,
+                    snapshot_id=snapshot.id,
+                    services=self.services["volume"],
+                    account=self.account.name,
+                    domainid=self.account.domainid)
+                volumeSize = (volume.size / (1024 ** 3))
                 vm.attach_volume(apiclient, volume)
                 expectedCount = initialResourceCount + (volumeSize)
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 expectedCount -= volumeSize
                 vm.detach_volume(apiclient, volume)
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 volume.delete(apiclient)
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.domain.id,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.domain.id,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
             except Exception as e:
@@ -573,7 +656,7 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
     @attr(tags=["advanced"], required_hardware="false")
     def test_05_assign_virtual_machine_different_domain(self):
-	"""Test assign virtual machine to account belonging to different domain
+        """Test assign virtual machine to account belonging to different domain
 
         # Steps
         1. Create a parent domain and two sub-domains in it (also admin accounts
@@ -590,41 +673,48 @@ class TestMultipleChildDomain(cloudstackTestCase):
         self.assertEqual(result[0], PASS, result[1])
 
         apiclient = self.testClient.getUserApiClient(
-                                UserName=self.cadmin_1.name,
-                                DomainName=self.cadmin_1.domain)
-        self.assertNotEqual(apiclient, FAILED,\
-                 "Failed to create api client for account: %s" % self.cadmin_1.name)
+            UserName=self.cadmin_1.name,
+            DomainName=self.cadmin_1.domain)
+        self.assertNotEqual(
+            apiclient,
+            FAILED,
+            "Failed to create api client for account: %s" %
+            self.cadmin_1.name)
 
         try:
             vm_1 = VirtualMachine.create(
-                    apiclient, self.services["virtual_machine"],
-                    accountid=self.cadmin_1.name, domainid=self.cadmin_1.domainid,
-                    diskofferingid=self.disk_offering.id, serviceofferingid=self.service_offering.id
-                    )
+                apiclient,
+                self.services["virtual_machine"],
+                accountid=self.cadmin_1.name,
+                domainid=self.cadmin_1.domainid,
+                diskofferingid=self.disk_offering.id,
+                serviceofferingid=self.service_offering.id)
 
-            templatesize = (self.template.size / (1024**3))
+            templatesize = (self.template.size / (1024 ** 3))
 
             expectedCount = templatesize + self.disk_offering.disksize
             result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.cadmin_1.domainid,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                self.apiclient, self.cadmin_1.domainid,
+                expectedCount, RESOURCE_PRIMARY_STORAGE)
             self.assertFalse(result[0], result[1])
             self.assertTrue(result[2], "Resource count does not match")
 
             vm_1.stop(apiclient)
-            vm_1.assign_virtual_machine(self.apiclient, account=self.cadmin_2.name,
-				    domainid=self.cadmin_2.domainid)
+            vm_1.assign_virtual_machine(
+                self.apiclient,
+                account=self.cadmin_2.name,
+                domainid=self.cadmin_2.domainid)
 
             result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.cadmin_2.domainid,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                self.apiclient, self.cadmin_2.domainid,
+                expectedCount, RESOURCE_PRIMARY_STORAGE)
             self.assertFalse(result[0], result[1])
             self.assertTrue(result[2], "Resource count does not match")
 
             expectedCount = 0
             result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.cadmin_1.domainid,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                self.apiclient, self.cadmin_1.domainid,
+                expectedCount, RESOURCE_PRIMARY_STORAGE)
             self.assertFalse(result[0], result[1])
             self.assertTrue(result[2], "Resource count does not match")
         except Exception as e:
@@ -633,7 +723,7 @@ class TestMultipleChildDomain(cloudstackTestCase):
 
     @attr(tags=["advanced"], required_hardware="false")
     def test_06_destroy_recover_vm(self):
-	"""Test primary storage counts while destroying and recovering VM
+        """Test primary storage counts while destroying and recovering VM
         # Steps
         1. Create a parent domain and two sub-domains in it (also admin accounts
            of each domain)
@@ -656,33 +746,35 @@ class TestMultipleChildDomain(cloudstackTestCase):
             self.domain = domain
             try:
                 vm_1 = VirtualMachine.create(
-                    self.apiclient, self.services["virtual_machine"],
-                    accountid=self.account.name, domainid=self.account.domainid,
-                    diskofferingid=self.disk_offering.id, serviceofferingid=self.service_offering.id
-                    )
+                    self.apiclient,
+                    self.services["virtual_machine"],
+                    accountid=self.account.name,
+                    domainid=self.account.domainid,
+                    diskofferingid=self.disk_offering.id,
+                    serviceofferingid=self.service_offering.id)
 
-                templatesize = (self.template.size / (1024**3))
+                templatesize = (self.template.size / (1024 ** 3))
 
                 expectedCount = templatesize + self.disk_offering.disksize
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.account.domainid,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.account.domainid,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 vm_1.delete(self.apiclient, expunge=False)
 
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.account.domainid,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.account.domainid,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
 
                 vm_1.recover(self.apiclient)
 
                 result = isDomainResourceCountEqualToExpectedCount(
-                            self.apiclient, self.account.domainid,
-                            expectedCount, RESOURCE_PRIMARY_STORAGE)
+                    self.apiclient, self.account.domainid,
+                    expectedCount, RESOURCE_PRIMARY_STORAGE)
                 self.assertFalse(result[0], result[1])
                 self.assertTrue(result[2], "Resource count does not match")
             except Exception as e:

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/214d63ee/test/integration/component/test_ps_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ps_limits.py b/test/integration/component/test_ps_limits.py
index e557249..c9a754b 100644
--- a/test/integration/component/test_ps_limits.py
+++ b/test/integration/component/test_ps_limits.py
@@ -56,6 +56,7 @@ class TestVolumeLimits(cloudstackTestCase):
         cloudstackTestClient = super(TestVolumeLimits,
                                cls).getClsTestClient()
         cls.api_client = cloudstackTestClient.getApiClient()
+        cls.hypervisor = cloudstackTestClient.getHypervisorInfo()
         # Fill services from the external config file
         cls.services = cloudstackTestClient.getParsedTestDataConfig()
         # Get Zone, Domain and templates
@@ -505,7 +506,8 @@ class TestVolumeLimits(cloudstackTestCase):
         # 3. Create volume againt from this snapshto and attach to VM
         # 4. Verify that primary storage count increases by the volume size
         # 5. Detach and delete volume, verify primary storage count decreaes by volume size"""
-
+        if self.hypervisor.lower() in ['hyperv']:
+            self.skipTest("Snapshots feature is not supported on Hyper-V")
         response = self.setupAccount(value)
         self.debug(response[0])
         self.debug(response[1])

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/214d63ee/test/integration/component/test_resource_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_resource_limits.py b/test/integration/component/test_resource_limits.py
index f7fecb0..5f29d70 100644
--- a/test/integration/component/test_resource_limits.py
+++ b/test/integration/component/test_resource_limits.py
@@ -18,7 +18,7 @@
 """
 #Import Local Modules
 from nose.plugins.attrib import attr
-from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.cloudstackTestCase import cloudstackTestCase,unittest
 from marvin.lib.base import (VirtualMachine,
                                          Snapshot,
                                          Template,
@@ -129,7 +129,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
     def setUpClass(cls):
         cls.testClient = super(TestResourceLimitsAccount, cls).getClsTestClient()
         cls.api_client = cls.testClient.getApiClient()
-
+        cls.hypervisor = cls.testClient.getHypervisorInfo()
         cls.services = Services().services
         # Get Zone, Domain and templates
         cls.domain = get_domain(cls.api_client)
@@ -448,6 +448,8 @@ class TestResourceLimitsAccount(cloudstackTestCase):
         # 5. Create 2 snapshot in account 2. Verify account 2 should be able to
         #    create snapshots without any warning
 
+        if self.hypervisor.lower() in ['hyperv']:
+            self.skipTest("Snapshots feature is not supported on Hyper-V")
         self.debug(
             "Updating public IP resource limit for account: %s" %
                                                 self.account_1.name)
@@ -914,7 +916,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
     def setUpClass(cls):
         cls.testClient = super(TestResourceLimitsDomain, cls).getClsTestClient()
         cls.api_client = cls.testClient.getApiClient()
-
+        cls.hypervisor = cls.testClient.getHypervisorInfo()
         cls.services = Services().services
         cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
@@ -1132,7 +1134,8 @@ class TestResourceLimitsDomain(cloudstackTestCase):
         #    created
         # 5. Try to create another snapshot in this domain. It should give the
         #    user an appropriate error and an alert should be generated.
-
+        if self.hypervisor.lower() in ['hyperv']:
+            self.skipTest("Snapshots feature is not supported on Hyper-V")
         self.debug(
             "Updating snapshot resource limits for domain: %s" %
                                         self.account.domainid)