This is an automated email from the ASF dual-hosted git repository.

bhaisaab pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/master by this push:
     new ef4adb3  CLOUDSTACK-10070: Fixing some component tests and adding them 
in travis (#2263)
ef4adb3 is described below

commit ef4adb3672403b9611531d40e7b2cdf25ccc624d
Author: Boris Stoyanov - a.k.a Bobby <[email protected]>
AuthorDate: Thu Nov 30 13:19:06 2017 +0200

    CLOUDSTACK-10070: Fixing some component tests and adding them in travis 
(#2263)
    
    - Fixing some component tests and adding them in travis
    - Rearranges tests in .travis.yml file
    
    Signed-off-by: Rohit Yadav <[email protected]>
---
 .travis.yml                                        |  57 ++++----
 .../component/test_affinity_groups_projects.py     |  18 ++-
 .../component/test_allocation_states.py            |  10 +-
 .../component/test_cpu_domain_limits.py            | 153 +++++++++------------
 .../component/test_organization_states.py          |  37 +++--
 .../component/test_project_resources.py            |   4 +-
 tools/marvin/marvin/config/test_data.py            |   7 +
 7 files changed, 145 insertions(+), 141 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index d8e6f96..ee52d9e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,7 +32,8 @@ env:
   global:
      - PATH=$HOME/.local/bin:$PATH
   matrix:
-    - TESTS="smoke/test_affinity_groups
+    - TESTS="smoke/test_accounts
+             smoke/test_affinity_groups
              smoke/test_affinity_groups_projects
              smoke/test_certauthority_root
              smoke/test_deploy_vgpu_enabled_vm
@@ -47,6 +48,8 @@ env:
 
     - TESTS="smoke/test_hostha_kvm
              smoke/test_hostha_simulator
+             smoke/test_host_annotations
+             smoke/test_host_maintenance
              smoke/test_hosts
              smoke/test_internal_lb
              smoke/test_iso
@@ -66,12 +69,14 @@ env:
              smoke/test_over_provisioning
              smoke/test_password_server
              smoke/test_portable_publicip
-             smoke/test_primary_storage
+             smoke/test_portforwardingrules"
+
+    - TESTS="smoke/test_primary_storage
              smoke/test_privategw_acl
+             smoke/test_projects
              smoke/test_public_ip_range
-             smoke/test_pvlan"
-
-    - TESTS="smoke/test_regions
+             smoke/test_pvlan
+             smoke/test_regions
              smoke/test_reset_vm_on_reboot
              smoke/test_resource_detail
              smoke/test_router_dhcphosts
@@ -86,6 +91,7 @@ env:
              smoke/test_ssvm
              smoke/test_staticroles
              smoke/test_templates
+             smoke/test_usage
              smoke/test_usage_events
              smoke/test_vm_life_cycle
              smoke/test_vm_snapshots
@@ -99,16 +105,21 @@ env:
              smoke/misc/test_vm_sync"
 
     - TESTS="component/find_hosts_for_migration
-             smoke/test_accounts
              component/test_acl_isolatednetwork_delete
              component/test_acl_listsnapshot
              component/test_acl_listvm
              component/test_acl_listvolume
              component/test_acl_sharednetwork
-             component/test_acl_sharednetwork_deployVM-impersonation"
+             component/test_affinity_groups_projects"
+
+    - TESTS="component/test_allocation_states
+             component/test_acl_sharednetwork_deployVM-impersonation
+             component/test_affinity_groups_projects
+             component/test_cpu_domain_limits
              component/test_cpu_limits"
 
     - TESTS="component/test_cpu_max_limits
+             component/test_acl_isolatednetwork
              component/test_cpu_project_limits
              component/test_deploy_vm_userdata_multi_nic
              component/test_egress_fw_rules
@@ -124,38 +135,28 @@ env:
              component/test_non_contiguous_vlan
              component/test_persistent_networks"
 
-    - TESTS="smoke/test_projects
-             component/test_project_configs
+    - TESTS="component/test_project_configs
+             component/test_project_limits
              component/test_project_usage
-             smoke/test_regions
+             component/test_project_resources
              component/test_regions_accounts
              component/test_routers
-             component/test_snapshots"
-
-    - TESTS="component/test_project_limits
-             component/test_resource_limits
-             smoke/test_host_maintenance"
+             component/test_snapshots
+             component/test_stopped_vm"
 
-    - TESTS="component/test_stopped_vm
+    - TESTS="component/test_resource_limits
              component/test_tags
-             component/test_templates
-             component/test_update_vm
-             smoke/test_usage"
+             component/test_templates"
 
-    - TESTS="component/test_volumes
+    - TESTS="component/test_update_vm
+             component/test_volumes
+             component/test_vpc
              component/test_vpc_network
              component/test_vpc_offerings
              component/test_vpn_users"
 
-
 # FIXME: fix following tests and include them in Travis
-#    - TESTS="component/test_affinity_groups_projects"
-#    - TESTS="component/test_allocation_states"
-#    - TESTS="component/test_vpc"
-#    - TESTS="component/test_project_resources"
-#    - TESTS="component/test_cpu_domain_limits"
-#    - TESTS="component/test_acl_isolatednetwork"
-#    - TESTS="component/test_organization_states"
+#    - TESTS="component/test_organization_states" Please add when 
CLOUDSTACK-7735 is fixed
 
 before_install: travis_wait 30 ./tools/travis/before_install.sh
 install: ./tools/travis/install.sh
diff --git a/test/integration/component/test_affinity_groups_projects.py 
b/test/integration/component/test_affinity_groups_projects.py
index dbcc92b..4be673a 100644
--- a/test/integration/component/test_affinity_groups_projects.py
+++ b/test/integration/component/test_affinity_groups_projects.py
@@ -914,21 +914,22 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
        cls.services["virtual_machine"]["zoneid"] = cls.zone.id
        cls.services["template"] = cls.template.id
        cls.services["zoneid"] = cls.zone.id
-       
+       cls._cleanup = []
        cls.domain_admin_account = Account.create(
           cls.api_client,
           cls.services["domain_admin_account"],
           domainid=cls.domain.id,
           admin=True
        )
-
+       cls._cleanup.append(cls.domain_admin_account)
        cls.domain_api_client = 
cls.testClient.getUserApiClient(cls.domain_admin_account.name, cls.domain.name, 
2)
 
        cls.account = Account.create(
           cls.api_client,
           cls.services["account"],
           domainid=cls.domain.id
-       )       
+       )
+       cls._cleanup.append(cls.account)
 
        cls.account_api_client = 
cls.testClient.getUserApiClient(cls.account.name, cls.domain.name, 0)
 
@@ -937,22 +938,24 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
           cls.services["account_not_in_project"],
           domainid=cls.domain.id
        )
+       cls._cleanup.append(cls.account_not_in_project)
 
        cls.account_not_in_project_api_client = 
cls.testClient.getUserApiClient(cls.account_not_in_project.name, 
cls.domain.name, 0)
-
+       cls._proj_toclean = []
        cls.project = Project.create(
           cls.api_client,
           cls.services["project"],
           account=cls.domain_admin_account.name,
           domainid=cls.domain_admin_account.domainid
        )
-       
+       cls._proj_toclean.append(cls.project)
        cls.project2 = Project.create(
           cls.api_client,
           cls.services["project2"],
           account=cls.domain_admin_account.name,
           domainid=cls.domain_admin_account.domainid
        )
+       cls._proj_toclean.append(cls.project2)
 
        cls.debug("Created project with ID: %s" % cls.project.id)
        cls.debug("Created project2 with ID: %s" % cls.project2.id)
@@ -969,7 +972,6 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
           domainid=cls.account.domainid
        )
        
-       cls._cleanup = []
        return
 
     def setUp(self):
@@ -988,8 +990,9 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
     @classmethod
     def tearDownClass(cls):
        try:
-          cls.domain.delete(cls.api_client, cleanup=True)
+          cleanup_resources(cls.api_client, cls._proj_toclean)
           cleanup_resources(cls.api_client, cls._cleanup)
+          cls.domain.delete(cls.api_client, cleanup=True)
        except Exception as e:
           raise Exception("Warning: Exception during cleanup : %s" % e)
 
@@ -1076,6 +1079,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
         if vm_failed:
            vm_failed.expunge(self.api_client)
 
+        wait_for_cleanup(self.api_client, ["expunge.delay", 
"expunge.interval"])
         self.cleanup.append(aff_grp)
 
 
diff --git a/test/integration/component/test_allocation_states.py 
b/test/integration/component/test_allocation_states.py
index 6aad63d..78c7203 100644
--- a/test/integration/component/test_allocation_states.py
+++ b/test/integration/component/test_allocation_states.py
@@ -93,6 +93,7 @@ class TestAllocationState(cloudstackTestCase):
         # Get Zone, Domain and templates
 
         cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+        cls.hypervisor = cls.testClient.getHypervisorInfo()
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,
@@ -268,12 +269,19 @@ class TestAllocationState(cloudstackTestCase):
         # 1. List secondary storage
         # 2. Check state is "Up" or not
 
+        if self.hypervisor.lower() == 'simulator':
+            self.skipTest("Hypervisor is simulator skipping")
+
         sec_storages = Host.list(
                           self.apiclient,
                           zoneid=self.zone.id,
                           type='SecondaryStorageVM',
-              listall=True
+                          listall=True
                           )
+
+        if sec_storages is None:
+            self.skipTest("SSVM is not provisioned yet, skipping")
+
         self.assertEqual(
                          isinstance(sec_storages, list),
                          True,
diff --git a/test/integration/component/test_cpu_domain_limits.py 
b/test/integration/component/test_cpu_domain_limits.py
index f3dc564..4d7c165 100644
--- a/test/integration/component/test_cpu_domain_limits.py
+++ b/test/integration/component/test_cpu_domain_limits.py
@@ -19,6 +19,7 @@
 """
 # Import Local Modules
 from nose.plugins.attrib import attr
+from marvin.cloudstackAPI import createServiceOffering
 from marvin.cloudstackTestCase import cloudstackTestCase
 from marvin.lib.base import (
                                         Account,
@@ -36,80 +37,36 @@ from marvin.lib.common import (get_domain,
 from marvin.lib.utils import cleanup_resources
 from marvin.codes import ERROR_NO_HOST_FOR_MIGRATION
 
-class Services:
-    """Test resource limit services
-    """
-
-    def __init__(self):
-        self.services = {
-                        "account": {
-                                "email": "[email protected]",
-                                "firstname": "Test",
-                                "lastname": "User",
-                                "username": "resource",
-                                # Random characters are appended for unique
-                                # username
-                                "password": "password",
-                         },
-                         "service_offering": {
-                                "name": "Tiny Instance",
-                                "displaytext": "Tiny Instance",
-                                "cpunumber": 4,
-                                "cpuspeed": 100,    # in MHz
-                                "memory": 128,    # In MBs
-                        },
-                        "virtual_machine": {
-                                "displayname": "TestVM",
-                                "username": "root",
-                                "password": "password",
-                                "ssh_port": 22,
-                                "hypervisor": 'KVM',
-                                "privateport": 22,
-                                "publicport": 22,
-                                "protocol": 'TCP',
-                                },
-                         "network": {
-                                "name": "Test Network",
-                                "displaytext": "Test Network",
-                                "netmask": '255.255.255.0'
-                                },
-                         "project": {
-                                "name": "Project",
-                                "displaytext": "Test project",
-                                },
-                         "domain": {
-                                "name": "Domain",
-                                },
-                        "ostype": 'CentOS 5.3 (64-bit)',
-                        "sleep": 60,
-                        "timeout": 10,
-                        "mode": 'advanced',
-                        # Networking mode: Advanced, Basic
-                    }
-
 class TestDomainCPULimitsUpdateResources(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
         cls.testClient = super(TestDomainCPULimitsUpdateResources, 
cls).getClsTestClient()
         cls.api_client = cls.testClient.getApiClient()
+        cls.testdata = cls.testClient.getParsedTestDataConfig()
 
-        cls.services = Services().services
+        #cls.services = Services().services
         # Get Zone, Domain and templates
         cls.domain = get_domain(cls.api_client)
         cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
-        cls.services["mode"] = cls.zone.networktype
+        cls.testdata["mode"] = cls.zone.networktype
+
         cls.template = get_template(
-                            cls.api_client,
-                            cls.zone.id,
-                            cls.services["ostype"]
-                            )
+            cls.api_client,
+            cls.zone.id,
+            cls.testdata["ostype"]
+        )
 
-        cls.services["virtual_machine"]["zoneid"] = cls.zone.id
+        # Create service, disk offerings  etc
+        cls.service_offering = ServiceOffering.create(
+            cls.api_client,
+            cls.testdata["service_offering_multiple_cores"]
+        )
+        cls.testdata["virtual_machine"]["zoneid"] = cls.zone.id
 
         cls.service_offering = ServiceOffering.create(
                                             cls.api_client,
-                                            cls.services["service_offering"]
+                                            
cls.testdata["service_offering_multiple_cores"]
                                             )
 
         cls._cleanup = [cls.service_offering, ]
@@ -149,7 +106,7 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
         try:
             vm = VirtualMachine.create(
                  api_client,
-                 self.services["virtual_machine"],
+                 self.testdata["virtual_machine"],
                  templateid=self.template.id,
                  accountid=self.account.name,
                  domainid=self.account.domainid,
@@ -171,12 +128,12 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
 
         self.child_domain = Domain.create(
             self.apiclient,
-            services=self.services["domain"],
+            services=self.testdata["domain"],
             parentdomainid=self.domain.id
         )
         self.child_do_admin = Account.create(
             self.apiclient,
-            self.services["account"],
+            self.testdata["account"],
             admin=True,
             domainid=self.child_domain.id
         )
@@ -194,13 +151,13 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
 
         self.domain = Domain.create(
             self.apiclient,
-            services=self.services["domain"],
+            services=self.testdata["domain"],
             parentdomainid=self.domain.id
         )
 
         self.admin = Account.create(
             self.apiclient,
-            self.services["account"],
+            self.testdata["account"],
             admin=True,
             domainid=self.domain.id
         )
@@ -253,7 +210,7 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
             )
             resource_count = account_list[0].cputotal
 
-            expected_resource_count = 
int(self.services["service_offering"]["cpunumber"])
+            expected_resource_count = int(self.service_offering.cpunumber)
 
             self.assertEqual(resource_count, expected_resource_count,
                 "Initial resource count should match with the expected 
resource count")
@@ -329,7 +286,7 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
             )
             resource_count = account_list[0].cputotal
 
-            expected_resource_count = 
int(self.services["service_offering"]["cpunumber"])
+            expected_resource_count = int(self.service_offering.cpunumber)
 
             self.assertEqual(resource_count, expected_resource_count,
                 "Initial resource count should match with the expected 
resource count")
@@ -390,7 +347,7 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
             )
             resource_count = account_list[0].cputotal
 
-            expected_resource_count = 
int(self.services["service_offering"]["cpunumber"])
+            expected_resource_count = int(self.service_offering.cpunumber)
 
             self.assertEqual(resource_count, expected_resource_count,
                 "Initial resource count should with the expected resource 
count")
@@ -421,11 +378,11 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
         # 2. Deploy multiple VMs within domain with this service offering
         # 3. Update Resource count for the domain
         # 4. CPU usage should list properly
-
+        self.hypervisor = self.testClient.getHypervisorInfo()
         self.debug("Creating service offering with 4 CPU cores")
         self.service_offering = ServiceOffering.create(
                                             self.apiclient,
-                                            self.services["service_offering"]
+                                            
self.testdata["service_offering_multiple_cores"]
                                             )
         # Adding to cleanup list after execution
         self.cleanup.append(self.service_offering)
@@ -451,8 +408,17 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
             self.createInstance(service_off=self.service_offering, 
api_client=api_client)
 
             self.debug("Deploying instance - CPU capacity is fully utilized")
+            cmd = self.testdata["service_offering_multiple_cores"]
+            cmd['cpunumber'] = '20'
+
+            self.so = ServiceOffering.create(
+                self.api_client,
+                cmd
+            )
+            self.cleanup.append(self.so)
+
             with self.assertRaises(Exception):
-                self.createInstance(service_off=self.service_offering, 
api_client=api_client)
+                self.createInstance(service_off=self.so, api_client=api_client)
 
             account_list = Account.list(self.apiclient, id=self.account.id)
             self.assertIsInstance(account_list,
@@ -461,7 +427,7 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
             )
             resource_count = account_list[0].cputotal
 
-            expected_resource_count = 
int(self.services["service_offering"]["cpunumber"]) * 4 #Total 4 VMs
+            expected_resource_count = int(self.service_offering.cpunumber) * 4 
#Total 4 VMs
 
             self.assertEqual(resource_count, expected_resource_count,
                 "Initial resource count should be 4")
@@ -479,7 +445,7 @@ class 
TestDomainCPULimitsUpdateResources(cloudstackTestCase):
             )
             resource_count_after_delete = account_list[0].cputotal
 
-            expected_resource_count -= 
int(self.services["service_offering"]["cpunumber"])
+            expected_resource_count -= int(self.service_offering.cpunumber)
 
             self.assertEqual(resource_count_after_delete, 
expected_resource_count,
                 "Resource count should match with the expected count")
@@ -513,20 +479,31 @@ class TestMultipleChildDomains(cloudstackTestCase):
     def setUpClass(cls):
         cls.testClient = super(TestMultipleChildDomains, 
cls).getClsTestClient()
         cls.api_client = cls.testClient.getApiClient()
+        cls.testdata = cls.testClient.getParsedTestDataConfig()
 
-        cls.services = Services().services
+        #cls.services = Services().services
         # Get Zone, Domain and templates
         cls.domain = get_domain(cls.api_client)
         cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
-        cls.services["mode"] = cls.zone.networktype
+        cls.testdata["mode"] = cls.zone.networktype
+
         cls.template = get_template(
-                            cls.api_client,
-                            cls.zone.id,
-                            cls.services["ostype"]
-                            )
+            cls.api_client,
+            cls.zone.id,
+            cls.testdata["ostype"]
+        )
 
-        cls.services["virtual_machine"]["zoneid"] = cls.zone.id
+        # Create service, disk offerings  etc
+        cls.service_offering = ServiceOffering.create(
+            cls.api_client,
+            cls.testdata["service_offering_multiple_cores"]
+        )
+        cls.testdata["virtual_machine"]["zoneid"] = cls.zone.id
 
+        cls.service_offering = ServiceOffering.create(
+                                            cls.api_client,
+                                            
cls.testdata["service_offering_multiple_cores"]
+                                            )
         cls._cleanup = []
         return
 
@@ -564,7 +541,7 @@ class TestMultipleChildDomains(cloudstackTestCase):
         try:
             vm = VirtualMachine.create(
                  api_client,
-                 self.services["virtual_machine"],
+                 self.testdata["virtual_machine"],
                  templateid=self.template.id,
                  accountid=account.name,
                  domainid=account.domainid,
@@ -585,11 +562,11 @@ class TestMultipleChildDomains(cloudstackTestCase):
         self.debug("Creating a domain under: %s" % self.domain.name)
 
         self.parent_domain = Domain.create(self.apiclient,
-            services=self.services["domain"],
+            services=self.testdata["domain"],
             parentdomainid=self.domain.id)
         self.parentd_admin = Account.create(
             self.apiclient,
-            self.services["account"],
+            self.testdata["account"],
             admin=True,
             domainid=self.domain.id
         )
@@ -603,17 +580,17 @@ class TestMultipleChildDomains(cloudstackTestCase):
             account=self.parentd_admin.name)
         self.debug("Creating a sub-domain under: %s" % self.parent_domain.name)
         self.cdomain_1 = Domain.create(self.apiclient,
-            services=self.services["domain"],
+            services=self.testdata["domain"],
             parentdomainid=self.parent_domain.id)
 
         self.debug("Creating a sub-domain under: %s" % self.parent_domain.name)
         self.cdomain_2 = Domain.create(self.apiclient,
-            services=self.services["domain"],
+            services=self.testdata["domain"],
             parentdomainid=self.parent_domain.id)
 
         self.cadmin_1 = Account.create(
             self.apiclient,
-            self.services["account"],
+            self.testdata["account"],
             admin=True,
             domainid=self.cdomain_1.id
         )
@@ -635,7 +612,7 @@ class TestMultipleChildDomains(cloudstackTestCase):
 
         self.cadmin_2 = Account.create(
             self.apiclient,
-            self.services["account"],
+            self.testdata["account"],
             admin=True,
             domainid=self.cdomain_2.id
         )
@@ -685,10 +662,10 @@ class TestMultipleChildDomains(cloudstackTestCase):
         #    domain resource updates
 
         self.debug("Creating service offering with 2 CPU cores")
-        self.services["service_offering"]["cpunumber"] = 2
+        self.testdata["service_offering"]["cpunumber"] = 2
         self.service_offering = ServiceOffering.create(
                                             self.apiclient,
-                                            self.services["service_offering"]
+                                            self.testdata["service_offering"]
                                             )
         # Adding to cleanup list after execution
         self.cleanup.append(self.service_offering)
diff --git a/test/integration/component/test_organization_states.py 
b/test/integration/component/test_organization_states.py
index ffdd08d..03b938c 100644
--- a/test/integration/component/test_organization_states.py
+++ b/test/integration/component/test_organization_states.py
@@ -263,12 +263,12 @@ class TestOrganizationStates(cloudstackTestCase):
     
@attr("disruptive","simulator_only",tags=["advanced"],required_hardware="false")
     def test_21_disablePod(self):
        """
-       Disable Pod
+           Disable Pod
         Validate that listPods() returns the  allocationstate as "Disabled"
        """
        self.debug("Pod to be disabled: " + self.zone.id)
        
-       podupdResp = self.pod.update(self.apiclient,allocationstate="Disabled")
+       podupdResp = 
self.pod.update(self.apiclient,allocationstate="Disabled",id=self.pod.id)
 
        self.assertEqual(podupdResp.allocationstate,
                     "Disabled",
@@ -363,7 +363,7 @@ class TestOrganizationStates(cloudstackTestCase):
        """
        self.debug("Pod to be enabled: " + self.zone.id)
        
-       podupdResp = self.pod.update(self.apiclient,allocationstate="Enabled")
+       podupdResp = 
self.pod.update(self.apiclient,allocationstate="Enabled",id=self.pod.id)
 
        self.assertEqual(podupdResp.allocationstate,
                     "Enabled",
@@ -386,7 +386,7 @@ class TestOrganizationStates(cloudstackTestCase):
        """
        self.debug("Cluster to be disabled: " + self.cluster.id)
        
-       clusterupdResp = 
self.cluster.update(self.apiclient,allocationstate="Disabled")
+       clusterupdResp = 
self.cluster.update(self.apiclient,allocationstate="Disabled",id=self.cluster.id)
 
        self.assertEqual(clusterupdResp.allocationstate,
                     "Disabled",
@@ -481,7 +481,7 @@ class TestOrganizationStates(cloudstackTestCase):
        """
        self.debug("Cluster to be enabled: " + self.cluster.id)
        
-       clusterupdResp = 
self.cluster.update(self.apiclient,allocationstate="Enabled")
+       clusterupdResp = 
self.cluster.update(self.apiclient,allocationstate="Enabled",id=self.cluster.id)
 
        self.assertEqual(clusterupdResp.allocationstate,
                     "Enabled",
@@ -501,17 +501,17 @@ class TestOrganizationStates(cloudstackTestCase):
        Disable Host
         Validate that listHosts() returns the  allocationstate as "Disabled"
        """
-       self.debug("Host to be disabled: " + self.host.id)
+        self.debug("Host to be disabled: " + self.host.id)
        
-       hostupdResp = 
Host.update(self.apiclient,id=self.host.id,allocationstate="Disable")
+        hostupdResp = 
Host.update(self.apiclient,id=self.host.id,allocationstate="Disable")
 
-       self.assertEqual(hostupdResp.resourcestate,
+        self.assertEqual(hostupdResp.resourcestate,
                     "Disabled",
                     "Disabling Host did not set the alloctionstate to 
Disabled")
 
-       hostlistResp = Host.list(self.apiclient,id=self.host.id)
+        hostlistResp = Host.list(self.apiclient,id=self.host.id)
 
-       self.assertEqual(hostlistResp[0].resourcestate,
+        self.assertEqual(hostlistResp[0].resourcestate,
                     "Disabled",
                     "Disabling Host did not set the alloctionstate to 
Disabled")
 
@@ -540,13 +540,16 @@ class TestOrganizationStates(cloudstackTestCase):
        """
         Validate that admin is allowed to deploy VM in a disabled host without 
passing hostId parameter
        """
-        vm = VirtualMachine.create(
+        try:
+            vm = VirtualMachine.create(
                     self.admin_apiclient,
                     {},
                     zoneid=self.zone.id,
                     serviceofferingid=self.serviceOffering.id,
                     templateid=self.template.id
                 )
+        except Exception:
+            raise self.fail("Failed to deploy VM, this issue was hit: 
https://issues.apache.org/jira/browse/CLOUDSTACK-7735";)
 
        self.assertEqual(vm.state,
                     "Running",
@@ -564,8 +567,10 @@ class TestOrganizationStates(cloudstackTestCase):
        self.assertEqual(listResp[0].state,
                     VirtualMachine.STOPPED,
                     "Admin is not able to Stop Vm in a disabled Host! ")
-
-        self.vm_admin.start(self.admin_apiclient)
+        try:
+            self.vm_admin.start(self.admin_apiclient)
+        except Exception:
+            raise self.fail("Failed to deploy VM, this issue was hit: 
https://issues.apache.org/jira/browse/CLOUDSTACK-7735";)
 
        listResp = VirtualMachine.list(self.apiclient,id=self.vm_admin.id)
        self.assertEqual(listResp[0].state,
@@ -601,8 +606,11 @@ class TestOrganizationStates(cloudstackTestCase):
        self.assertEqual(listResp[0].state,
                     VirtualMachine.STOPPED,
                     "Regular user is not able to Stop Vm in a disabled Host! ")
+        try:
+            self.vm_user.start(self.user_apiclient)
+        except Exception:
+            raise self.fail("Failed to deploy VM, this issue was hit: 
https://issues.apache.org/jira/browse/CLOUDSTACK-7735";)
 
-        self.vm_user.start(self.user_apiclient)
        listResp = VirtualMachine.list(self.user_apiclient,id=self.vm_user.id)
 
        self.assertEqual(listResp[0].state,
@@ -629,4 +637,3 @@ class TestOrganizationStates(cloudstackTestCase):
                     "Enabled",
                     "Enabling Host did not set the alloctionstate to Enabled")
 
-
diff --git a/test/integration/component/test_project_resources.py 
b/test/integration/component/test_project_resources.py
index 7302476..607c684 100644
--- a/test/integration/component/test_project_resources.py
+++ b/test/integration/component/test_project_resources.py
@@ -1151,13 +1151,13 @@ class TestPublicIpAddress(cloudstackTestCase):
                     )
         self.assertEqual(
                     fw_rules[0].startport,
-                    str(self.services["fw_rule"]["startport"]),
+                    self.services["fw_rule"]["startport"],
                     "Check start port of firewall rule"
                     )
 
         self.assertEqual(
                     fw_rules[0].endport,
-                    str(self.services["fw_rule"]["endport"]),
+                    self.services["fw_rule"]["endport"],
                     "Check end port of firewall rule"
                     )
 
diff --git a/tools/marvin/marvin/config/test_data.py 
b/tools/marvin/marvin/config/test_data.py
index 7d8b626..da74cb5 100644
--- a/tools/marvin/marvin/config/test_data.py
+++ b/tools/marvin/marvin/config/test_data.py
@@ -88,6 +88,13 @@ test_data = {
         "cpuspeed": 256,  # in MHz
         "memory": 256,  # In MBs
     },
+    "service_offering_multiple_cores": {
+        "name": "Tiny Instance",
+        "displaytext": "Tiny Instance",
+        "cpunumber": 4,
+        "cpuspeed": 100,    # in MHz
+        "memory": 128,    # In MBs
+    },
     "service_offerings": {
         "tiny": {
             "name": "Tiny Instance",

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to