diff --git a/test/integration/component/test_accounts.py b/test/integration/component/test_accounts.py index a60a5beba89..254f1cefde4 100644 --- a/test/integration/component/test_accounts.py +++ b/test/integration/component/test_accounts.py @@ -164,7 +164,7 @@ class TestAccounts(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"]) + @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="false") def test_01_create_account(self): """Test Create Account and user for that account """ @@ -300,7 +300,7 @@ class TestRemoveUserFromAccount(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"]) + @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="false") def test_01_user_remove_VM_running(self): """Test Remove one user from the account """ @@ -452,7 +452,7 @@ class TestNonRootAdminsPrivileges(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"]) + @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="false") def test_01_non_root_admin_Privileges(self): """Test to verify Non Root admin previleges""" @@ -574,7 +574,7 @@ class TestServiceOfferingSiblings(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"]) + @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="false") def test_01_service_offering_siblings(self): """Test to verify service offerings at same level in hierarchy""" @@ -692,7 +692,7 @@ class TestServiceOfferingHierarchy(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"]) + @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="false") def test_01_service_offering_hierarchy(self): """Test to verify service offerings at same level in hierarchy""" @@ -981,7 +981,7 @@ class TestAddVmToSubDomain(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"]) + @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="false") def test_01_add_vm_to_subdomain(self): """ Test Sub domain allowed to launch VM when a Domain level zone is created""" @@ -1525,7 +1525,7 @@ class TestDomainForceRemove(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["domains", "advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["domains", "advanced", "advancedns", "simulator"], required_hardware="false") def test_forceDeleteDomain(self): """ Test delete domain with force option""" @@ -1695,7 +1695,7 @@ class TestDomainForceRemove(cloudstackTestCase): ) return - @attr(tags=["domains", "advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["domains", "advanced", "advancedns", "simulator"], required_hardware="false") def test_DeleteDomain(self): """ Test delete domain without force option""" diff --git a/test/integration/component/test_affinity_groups.py b/test/integration/component/test_affinity_groups.py index 9a53c4c7ff3..b071e04cd2e 100644 --- a/test/integration/component/test_affinity_groups.py +++ b/test/integration/component/test_affinity_groups.py @@ -176,7 +176,7 @@ class TestCreateAffinityGroup(cloudstackTestCase): except Exception as e: raise Exception("Error: Creation of Affinity Group failed : %s" %e) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_01_admin_create_aff_grp(self): """ Test create affinity group as admin @@ -191,7 +191,7 @@ class TestCreateAffinityGroup(cloudstackTestCase): self.assert_(list_aff_grps[0].id == aff_grp.id) self.cleanup.append(aff_grp) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_02_doadmin_create_aff_grp(self): """ Test create affinity group as domain admin @@ -211,7 +211,7 @@ class TestCreateAffinityGroup(cloudstackTestCase): aff_grp.delete(domainapiclient) #@attr(tags=["simulator", "basic", "advanced"]) - @attr(tags=["vogxn", "simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["vogxn", "simulator", "basic", "advanced"], required_hardware="false") def test_03_user_create_aff_grp(self): """ Test create affinity group as user @@ -228,7 +228,7 @@ class TestCreateAffinityGroup(cloudstackTestCase): aff_grp.delete(userapiclient) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_04_user_create_aff_grp_existing_name(self): """ Test create affinity group that exists (same name) @@ -249,7 +249,7 @@ class TestCreateAffinityGroup(cloudstackTestCase): self.debug("Deleted Affinity Group: %s" %aff_grp.name) aff_grp.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_05_create_aff_grp_same_name_diff_acc(self): """ Test create affinity group with existing name but within different account @@ -271,7 +271,7 @@ class TestCreateAffinityGroup(cloudstackTestCase): self.debug("Deleted Affinity Group: %s" %aff_grp.name) aff_grp.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_06_create_aff_grp_nonexisting_type(self): """ Test create affinity group of non-existing type @@ -397,7 +397,7 @@ class TestListAffinityGroups(cloudstackTestCase): msg="VM is not in Running state") return vm, vm_response.hostid - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_01_list_aff_grps_for_vm(self): """ List affinity group for a vm @@ -419,7 +419,7 @@ class TestListAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_02_list_multiple_aff_grps_for_vm(self): """ List multiple affinity groups associated with a vm @@ -448,7 +448,7 @@ class TestListAffinityGroups(cloudstackTestCase): aff_grp_01.delete(self.api_client) aff_grp_02.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_03_list_aff_grps_by_id(self): """ List affinity groups by id @@ -463,7 +463,7 @@ class TestListAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_04_list_aff_grps_by_name(self): """ List Affinity Groups by name @@ -477,7 +477,7 @@ class TestListAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_05_list_aff_grps_by_non_existing_id(self): """ List Affinity Groups by non-existing id @@ -491,7 +491,7 @@ class TestListAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_06_list_aff_grps_by_non_existing_name(self): """ List Affinity Groups by non-existing name @@ -505,7 +505,7 @@ class TestListAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_07_list_all_vms_in_aff_grp(self): """ List affinity group should list all for a vms associated with that group @@ -649,7 +649,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): [setattr(cmd, k, v) for k, v in kwargs.items()] return apiclient.deleteAffinityGroup(cmd) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_01_delete_aff_grp_by_name(self): """ Delete Affinity Group by name @@ -660,7 +660,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): self.delete_aff_group(self.api_client, name=aff_0.name) self.assert_(AffinityGroup.list(self.api_client, name=aff_0.name) is None) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_02_delete_aff_grp_for_acc(self): """ Delete Affinity Group as admin for an account @@ -676,7 +676,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): self.create_vm_in_aff_grps([aff_0.name], account_name=self.account.name, domain_id=self.domain.id) aff_1.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_03_delete_aff_grp_with_vms(self): """ Delete Affinity Group which has vms in it @@ -694,7 +694,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): wait_for_cleanup(self.apiclient, ["expunge.delay", "expunge.interval"]) aff_1.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_05_delete_aff_grp_id(self): """ Delete Affinity Group with id which does not belong to this user @@ -730,7 +730,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): aff_0.delete(self.api_client) aff_1.delete(userapiclient) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_06_delete_aff_grp_name(self): """ Delete Affinity Group by name which does not belong to this user @@ -766,7 +766,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): aff_0.delete(self.api_client) aff_1.delete(userapiclient) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_08_delete_aff_grp_by_id(self): """ Delete Affinity Group by id. @@ -778,7 +778,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase): aff_grp_1.delete(self.api_client) aff_grp_2.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_09_delete_aff_grp_root_admin(self): """ Root admin should be able to delete affinity group of other users @@ -917,7 +917,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase): return vm, vm_response.hostid - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_01_update_aff_grp_by_ids(self): """ Update the list of affinityGroups by using affinity groupids @@ -965,7 +965,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase): for aff_grp in self.aff_grp: aff_grp.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_02_update_aff_grp_by_names(self): """ Update the list of affinityGroups by using affinity groupnames @@ -1008,7 +1008,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase): for aff_grp in self.aff_grp: aff_grp.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_03_update_aff_grp_for_vm_with_no_aff_grp(self): """ Update the list of affinityGroups for vm which is not associated @@ -1067,7 +1067,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase): for aff_grp in aff_grps: aff_grp.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_05_update_aff_grp_on_running_vm(self): """ Update the list of Affinity Groups on running vm @@ -1203,7 +1203,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): return vm, vm_response.hostid - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_01_deploy_vm_without_aff_grp(self): """ Deploy VM without affinity group @@ -1214,7 +1214,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): #Wait for expunge interval to cleanup VM wait_for_cleanup(self.apiclient, ["expunge.delay", "expunge.interval"]) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_02_deploy_vm_by_aff_grp_name(self): """ Deploy VM by aff grp name @@ -1226,7 +1226,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): wait_for_cleanup(self.apiclient, ["expunge.delay", "expunge.interval"]) self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_03_deploy_vm_by_aff_grp_id(self): """ Deploy VM by aff grp id @@ -1242,7 +1242,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): wait_for_cleanup(self.apiclient, ["expunge.delay", "expunge.interval"]) self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_04_deploy_vm_anti_affinity_group(self): """ test DeployVM in anti-affinity groups @@ -1263,7 +1263,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): wait_for_cleanup(self.apiclient, ["expunge.delay", "expunge.interval"]) self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_05_deploy_vm_by_id(self): """ Deploy vms by affinity group id @@ -1285,7 +1285,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): wait_for_cleanup(self.apiclient, ["expunge.delay", "expunge.interval"]) self.aff_grp[0].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_06_deploy_vm_aff_grp_of_other_user_by_name(self): """ Deploy vm in affinity group of another user by name @@ -1318,7 +1318,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) self.aff_grp[1].delete(userapiclient) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_07_deploy_vm_aff_grp_of_other_user_by_id(self): """ Deploy vm in affinity group of another user by id @@ -1354,7 +1354,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) self.aff_grp[1].delete(userapiclient) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_08_deploy_vm_multiple_aff_grps(self): """ Deploy vm in multiple affinity groups @@ -1383,7 +1383,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) self.aff_grp[1].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_09_deploy_vm_multiple_aff_grps(self): """ Deploy multiple vms in multiple affinity groups @@ -1418,7 +1418,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase): self.aff_grp[0].delete(self.api_client) self.aff_grp[1].delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_10_deploy_vm_by_aff_grp_name_and_id(self): """ Deploy VM by aff grp name and id @@ -1547,7 +1547,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase): return vm, vm_response.hostid - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_01_deploy_vm_another_user(self): """ Deploy vm as Admin in Affinity Group belonging to regular user (should fail) @@ -1585,7 +1585,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase): aff_grp.delete(self.apiclient) - @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced", "multihost"], required_hardware="false") def test_03_list_aff_grp_all_users(self): """ List Affinity Groups as admin for all the users @@ -1608,7 +1608,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase): "Groups of users") aff_grp.delete(userapiclient) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_04_list_all_admin_aff_grp(self): """ List Affinity Groups belonging to admin user @@ -1635,7 +1635,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase): aff_grp1.delete(self.api_client) aff_grp2.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_05_list_all_users_aff_grp(self): """ List Affinity Groups belonging to regular user passing account id and domain id @@ -1671,7 +1671,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase): aff_grp1.delete(self.api_client) aff_grp2.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_06_list_all_users_aff_grp_by_id(self): """ List Affinity Groups belonging to regular user passing group id @@ -1703,7 +1703,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase): aff_grp.delete(self.api_client) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_07_delete_aff_grp_of_other_user(self): """ Delete Affinity Group belonging to regular user diff --git a/test/integration/component/test_allocation_states.py b/test/integration/component/test_allocation_states.py index 9ba246ffd80..6aad63db08d 100644 --- a/test/integration/component/test_allocation_states.py +++ b/test/integration/component/test_allocation_states.py @@ -129,7 +129,7 @@ class TestAllocationState(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_zones(self): """Check the status of zones""" @@ -155,7 +155,7 @@ class TestAllocationState(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_02_pods(self): """Check the status of pods""" @@ -181,7 +181,7 @@ class TestAllocationState(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_03_clusters(self): """Check the status of clusters""" @@ -207,7 +207,7 @@ class TestAllocationState(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_04_hosts(self): """Check the status of hosts""" @@ -234,7 +234,7 @@ class TestAllocationState(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_05_storage_pools(self): """Check the status of Storage pools""" @@ -260,7 +260,7 @@ class TestAllocationState(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_06_secondary_storage(self): """Check the status of secondary storage""" diff --git a/test/integration/component/test_base_image_updation.py b/test/integration/component/test_base_image_updation.py index 081d855fcac..8288f2c4913 100644 --- a/test/integration/component/test_base_image_updation.py +++ b/test/integration/component/test_base_image_updation.py @@ -293,7 +293,7 @@ class TestBaseImageUpdate(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_01_deploy_instance_with_is_volatile_offering(self): """ Test deploy an instance with service offerings with IsVolatile set. """ @@ -324,7 +324,7 @@ class TestBaseImageUpdate(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_02_reboot_instance_with_is_volatile_offering(self): """ Test rebooting instances created with isVolatile service offerings """ @@ -402,7 +402,7 @@ class TestBaseImageUpdate(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_03_restore_vm_with_new_template(self): """ Test restoring a vm with different template than the one it was created with """ @@ -518,7 +518,7 @@ class TestBaseImageUpdate(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_04_reoccuring_snapshot_rules(self): """ 1) Create a VM using the Service offering IsVolatile enabled diff --git a/test/integration/component/test_blocker_bugs.py b/test/integration/component/test_blocker_bugs.py index f0b03c09cb0..f9530f0177d 100644 --- a/test/integration/component/test_blocker_bugs.py +++ b/test/integration/component/test_blocker_bugs.py @@ -165,7 +165,7 @@ class TestTemplate(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg"], required_hardware="true") def test_01_create_template(self): """TS_BUG_002-Test to create and deploy VM using password enabled template """ @@ -327,7 +327,7 @@ class TestNATRules(cloudstackTestCase): except Exception as e: raise Exception("Warning: Exception during cleanup : %s" % e) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_01_firewall_rules_port_fw(self): """"Checking firewall rules deletion after static NAT disable""" @@ -536,7 +536,7 @@ class TestRouters(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_01_list_routers_admin(self): """TS_BUG_007-Check listRouters() using Admin User """ @@ -653,7 +653,7 @@ class TestRouterRestart(cloudstackTestCase): # No need return - @attr(tags=["advanced", "advancedns", "eip", "selfservice"]) + @attr(tags=["advanced", "advancedns", "eip"], required_hardware="false") def test_01_restart_network_cleanup(self): """TS_BUG_008-Test restart network """ @@ -815,7 +815,7 @@ class TestTemplates(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "basic", "sg", "eip", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg", "eip"], required_hardware="true") def test_01_check_template_size(self): """TS_BUG_009-Test the size of template created from root disk """ @@ -843,7 +843,7 @@ class TestTemplates(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "basic", "sg", "eip", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg", "eip"], required_hardware="true") def test_02_check_size_snapshotTemplate(self): """TS_BUG_010-Test check size of snapshot and template """ @@ -907,7 +907,7 @@ class TestTemplates(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "basic", "sg", "eip", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg", "eip"], required_hardware="true") def test_03_reuse_template_name(self): """TS_BUG_011-Test Reusing deleted template name """ diff --git a/test/integration/component/test_cpu_domain_limits.py b/test/integration/component/test_cpu_domain_limits.py index 6cca7c82c64..62ef12c772d 100644 --- a/test/integration/component/test_cpu_domain_limits.py +++ b/test/integration/component/test_cpu_domain_limits.py @@ -218,7 +218,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_multiple_core_vm_start_stop_instance(self): """Test Deploy VM with 4 core CPU & verify the usage""" @@ -291,7 +291,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase): "Resource count should be same as before, after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_multiple_core_vm_migrate_instance(self): """Test Deploy VM with 4 core CPU & verify the usage""" @@ -352,7 +352,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase): "Resource count should be same as before, after migrating the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_multiple_core_vm_delete_instance(self): """Test Deploy VM with 4 core CPU & verify the usage""" @@ -409,7 +409,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase): "Resource count for %s should be 0" % get_resource_type(resource_id=8))#CPU return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_04_deploy_multiple_vm_with_multiple_core(self): """Test Deploy multiple VM with 4 core CPU & verify the usage""" @@ -664,7 +664,7 @@ class TestMultipleChildDomains(cloudstackTestCase): } return users - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_multiple_child_domains(self): """Test CPU limits with multiple child domains""" diff --git a/test/integration/component/test_cpu_limits.py b/test/integration/component/test_cpu_limits.py index 2cf92f8c2ad..4087c756321 100644 --- a/test/integration/component/test_cpu_limits.py +++ b/test/integration/component/test_cpu_limits.py @@ -177,7 +177,7 @@ class TestCPULimits(cloudstackTestCase): except Exception as e: self.fail("Failed to deploy an instance: %s" % e) - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_multiplecore_start_stop_instance(self): """Test Deploy VM with multiple core CPU & verify the usage""" @@ -232,7 +232,7 @@ class TestCPULimits(cloudstackTestCase): "Resource count should be same after stopping the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_multiplecore_migrate_instance(self): """Test Deploy VM with multiple core CPU & verify the usage""" @@ -273,7 +273,7 @@ class TestCPULimits(cloudstackTestCase): "Resource count should be same after migrating the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_multiplecore_delete_instance(self): """Test Deploy VM with multiple core CPU & verify the usage""" @@ -309,7 +309,7 @@ class TestCPULimits(cloudstackTestCase): self.assertEqual(resource_count, 0 , "Resource count for %s should be 0" % get_resource_type(resource_id=8))#CPU return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_04_deploy_multiple_vm_with_multiple_cpus(self): """Test Deploy multiple VM with 4 core CPU & verify the usage""" @@ -465,7 +465,7 @@ class TestDomainCPULimitsConfiguration(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_stop_start_instance(self): """Test Deploy VM with 4 core CPU & verify the usage""" @@ -537,7 +537,7 @@ class TestDomainCPULimitsConfiguration(cloudstackTestCase): "Resource count should be same after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_migrate_instance(self): """Test Deploy VM with 4 core CPU & verify the usage""" @@ -597,7 +597,7 @@ class TestDomainCPULimitsConfiguration(cloudstackTestCase): "Resource count should be same after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_delete_instance(self): """Test Deploy VM with 4 core CPU & verify the usage""" diff --git a/test/integration/component/test_cpu_max_limits.py b/test/integration/component/test_cpu_max_limits.py index a08ff6d4b48..14dcad02f5c 100644 --- a/test/integration/component/test_cpu_max_limits.py +++ b/test/integration/component/test_cpu_max_limits.py @@ -228,7 +228,7 @@ class TestMaxCPULimits(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_deploy_vm_domain_limit_reached(self): """Test Try to deploy VM with admin account where account has not used the resources but @ domain they are not available""" @@ -261,7 +261,7 @@ class TestMaxCPULimits(cloudstackTestCase): service_off=self.service_offering, api_client=api_client_admin) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_02_deploy_vm_account_limit_reached(self): """Test Try to deploy VM with admin account where account has used the resources but @ domain they are available""" @@ -302,7 +302,7 @@ class TestMaxCPULimits(cloudstackTestCase): service_off=self.service_offering, api_client=api_client_admin) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_deploy_vm_project_limit_reached(self): """Test TTry to deploy VM with admin account where account has not used the resources but @ project they are not available""" @@ -337,7 +337,7 @@ class TestMaxCPULimits(cloudstackTestCase): service_off=self.service_offering, api_client=api_client_admin) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_04_deployVm__account_limit_reached(self): """Test Try to deploy VM with admin account where account has used the resources but @ project they are available""" diff --git a/test/integration/component/test_cpu_project_limits.py b/test/integration/component/test_cpu_project_limits.py index e7958289cad..2173050390a 100644 --- a/test/integration/component/test_cpu_project_limits.py +++ b/test/integration/component/test_cpu_project_limits.py @@ -218,7 +218,7 @@ class TestProjectsCPULimits(cloudstackTestCase): "Check project name from list response") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_project_counts_start_stop_instance(self): # Validate the following @@ -273,7 +273,7 @@ class TestProjectsCPULimits(cloudstackTestCase): "Resource count should be same after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_project_counts_migrate_instance(self): # Validate the following @@ -315,7 +315,7 @@ class TestProjectsCPULimits(cloudstackTestCase): "Resource count should be same after migrating the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_project_counts_delete_instance(self): # Validate the following diff --git a/test/integration/component/test_custom_hostname.py b/test/integration/component/test_custom_hostname.py index a457639f15c..22dbaf568e7 100644 --- a/test/integration/component/test_custom_hostname.py +++ b/test/integration/component/test_custom_hostname.py @@ -187,7 +187,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase): @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_user_provided_hostname(self): """ Verify user provided hostname to an instance """ @@ -334,7 +334,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase): return @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_02_instancename_from_default_configuration(self): """ Verify for globally set instancename """ @@ -445,7 +445,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase): return @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_03_duplicate_name(self): """ Test the duplicate name when old VM is in non-expunged state """ @@ -505,7 +505,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase): return @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_instance_name_with_hyphens(self): """ Test the instance name with hyphens """ @@ -555,7 +555,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase): @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_04_edit_display_name(self): """ Test Edit the Display name Through the UI. """ @@ -648,7 +648,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase): return @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_05_unsupported_chars_in_display_name(self): """ Test Unsupported chars in the display name (eg: Spaces,Exclamation,yet to get unsupported chars from the dev) @@ -740,7 +740,7 @@ class TestInstanceNameFlagFalse(cloudstackTestCase): return @attr(configuration='vm.instancename.flag') - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_custom_hostname_instancename_false(self): """ Verify custom hostname for the instance when vm.instancename.flag=false diff --git a/test/integration/component/test_deploy_vm_userdata_reg.py b/test/integration/component/test_deploy_vm_userdata_reg.py index 31735d28499..10278c6a426 100755 --- a/test/integration/component/test_deploy_vm_userdata_reg.py +++ b/test/integration/component/test_deploy_vm_userdata_reg.py @@ -105,7 +105,7 @@ class TestDeployVmWithUserData(cloudstackTestCase): self.hypervisor = self.testClient.getHypervisorInfo() - @attr(tags=["simulator", "devcloud", "basic", "advanced", "provisioning"]) + @attr(tags=["simulator", "devcloud", "basic", "advanced"], required_hardware="true") def test_deployvm_userdata_post(self): """Test userdata as POST, size > 2k """ diff --git a/test/integration/component/test_egress_fw_rules.py b/test/integration/component/test_egress_fw_rules.py index e6960b2fea6..12bade4ac6f 100755 --- a/test/integration/component/test_egress_fw_rules.py +++ b/test/integration/component/test_egress_fw_rules.py @@ -388,7 +388,7 @@ class TestEgressFWRules(cloudstackTestCase): except Exception as e: self.fail("Warning! Cleanup failed: %s" % e) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_01_egress_fr1(self): """Test By-default the communication from guest n/w to public n/w is allowed. """ @@ -403,7 +403,7 @@ class TestEgressFWRules(cloudstackTestCase): "['0']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_01_1_egress_fr1(self): """Test By-default the communication from guest n/w to public n/w is NOT allowed. """ @@ -419,7 +419,7 @@ class TestEgressFWRules(cloudstackTestCase): negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_02_egress_fr2(self): """Test Allow Communication using Egress rule with CIDR + Port Range + Protocol. """ @@ -436,7 +436,7 @@ class TestEgressFWRules(cloudstackTestCase): "['100']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_02_1_egress_fr2(self): """Test Allow Communication using Egress rule with CIDR + Port Range + Protocol. """ @@ -453,7 +453,7 @@ class TestEgressFWRules(cloudstackTestCase): "['0']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_03_egress_fr3(self): """Test Communication blocked with network that is other than specified """ @@ -474,7 +474,7 @@ class TestEgressFWRules(cloudstackTestCase): "[]", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_03_1_egress_fr3(self): """Test Communication blocked with network that is other than specified """ @@ -495,7 +495,7 @@ class TestEgressFWRules(cloudstackTestCase): "['failed:']", negative_test=False) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_04_egress_fr4(self): """Test Create Egress rule and check the Firewall_Rules DB table """ @@ -532,7 +532,7 @@ class TestEgressFWRules(cloudstackTestCase): "DB results not matching, expected: 1, found: %s" % qresultset[0][0]) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_04_1_egress_fr4(self): """Test Create Egress rule and check the Firewall_Rules DB table """ @@ -606,7 +606,7 @@ class TestEgressFWRules(cloudstackTestCase): #TODO: Query VR for expected route rules. - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_06_egress_fr6(self): """Test Create Egress rule without CIDR """ @@ -622,7 +622,7 @@ class TestEgressFWRules(cloudstackTestCase): "['100']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_06_1_egress_fr6(self): """Test Create Egress rule without CIDR """ @@ -638,7 +638,7 @@ class TestEgressFWRules(cloudstackTestCase): "['0']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_07_egress_fr7(self): """Test Create Egress rule without End Port """ @@ -654,7 +654,7 @@ class TestEgressFWRules(cloudstackTestCase): "['failed:']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_07_1_egress_fr7(self): """Test Create Egress rule without End Port """ @@ -695,7 +695,7 @@ class TestEgressFWRules(cloudstackTestCase): self.createEgressRule(cidr=TestEgressFWRules.zone.guestcidraddress) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_09_egress_fr9(self): """Test Delete Egress rule """ @@ -719,7 +719,7 @@ class TestEgressFWRules(cloudstackTestCase): "['0']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_09_1_egress_fr9(self): """Test Delete Egress rule """ @@ -744,7 +744,7 @@ class TestEgressFWRules(cloudstackTestCase): negative_test=False) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_10_egress_fr10(self): """Test Invalid CIDR and Invalid Port ranges """ @@ -755,7 +755,7 @@ class TestEgressFWRules(cloudstackTestCase): self.create_vm() self.assertRaises(Exception, self.createEgressRule, cidr='10.2.2.0/24') - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_10_1_egress_fr10(self): """Test Invalid CIDR and Invalid Port ranges """ @@ -767,7 +767,7 @@ class TestEgressFWRules(cloudstackTestCase): self.assertRaises(Exception, self.createEgressRule, cidr='10.2.2.0/24') - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_11_egress_fr11(self): """Test Regression on Firewall + PF + LB + SNAT """ @@ -777,7 +777,7 @@ class TestEgressFWRules(cloudstackTestCase): # 3. All should work fine. self.create_vm(pfrule=True) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_11_1_egress_fr11(self): """Test Regression on Firewall + PF + LB + SNAT """ @@ -787,7 +787,7 @@ class TestEgressFWRules(cloudstackTestCase): # 3. All should work fine. self.create_vm(pfrule=True, egress_policy=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_12_egress_fr12(self): """Test Reboot Router """ @@ -804,7 +804,7 @@ class TestEgressFWRules(cloudstackTestCase): "['100']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_12_1_egress_fr12(self): """Test Reboot Router """ @@ -821,7 +821,7 @@ class TestEgressFWRules(cloudstackTestCase): "['0']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_13_egress_fr13(self): """Test Redundant Router : Master failover """ @@ -876,7 +876,7 @@ class TestEgressFWRules(cloudstackTestCase): "['100']", negative_test=False) - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_13_1_egress_fr13(self): """Test Redundant Router : Master failover """ diff --git a/test/integration/component/test_escalations_instances.py b/test/integration/component/test_escalations_instances.py index 1b72b2f3908..73ebf13e12a 100644 --- a/test/integration/component/test_escalations_instances.py +++ b/test/integration/component/test_escalations_instances.py @@ -146,7 +146,7 @@ class TestListInstances(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_01_list_instances_pagination(self): """ @Desc: Test List Instances pagination @@ -280,7 +280,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_02_list_Running_vm(self): """ @Desc: Test List Running VM's @@ -371,7 +371,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_03_list_Stopped_vm(self): """ @Desc: Test List Stopped VM's @@ -464,7 +464,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_04_list_Destroyed_vm(self): """ @Desc: Test List Destroyed VM's @@ -572,7 +572,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_05_list_vm_by_id(self): """ @Desc: Test List VM by Id @@ -674,7 +674,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_06_list_vm_by_name(self): """ @Desc: Test List VM's by Name @@ -809,7 +809,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_07_list_vm_by_name_state(self): """ @Desc: Test List VM's by Name and State @@ -952,7 +952,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_08_list_vm_by_zone(self): """ @Desc: Test List VM by Zone. @@ -1091,7 +1091,7 @@ class TestListInstances(cloudstackTestCase): self.services["virtual_machine"]["template"] = current_template return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_09_list_vm_by_zone_name(self): """ @Desc: Test List VM by Zone. @@ -1273,7 +1273,7 @@ class TestListInstances(cloudstackTestCase): self.services["virtual_machine"]["template"] = current_template return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_10_list_vm_by_zone_name_state(self): """ @Desc: Test List VM by Zone. @@ -1464,7 +1464,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_11_register_reset_vm_sshkey(self): """ @Desc: Test to verify registering and reset of SSH Key for VM @@ -1590,7 +1590,7 @@ class TestListInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_12_vm_nics(self): """ @Desc: Test to verify Nics for a VM @@ -1989,7 +1989,7 @@ class TestInstances(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_13_attach_detach_iso(self): """ @Desc: Test Attach ISO to VM and Detach ISO from VM. @@ -2119,7 +2119,7 @@ class TestInstances(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_14_vm_snapshot_pagination(self): """ @Desc: Test VM Snapshots pagination. @@ -2278,7 +2278,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_15_revert_vm_to_snapshot(self): """ @Desc: Test Revert VM to Snapshot functionality. @@ -2440,7 +2440,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_16_list_vm_volumes_pagination(self): """ @Desc: Test to verify pagination of Volumes for a VM @@ -2645,7 +2645,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_17_running_vm_scaleup(self): """ @Desc: Test to verify change service for Running VM @@ -2785,7 +2785,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_18_stopped_vm_change_service(self): """ @Desc: Test to verify change service for Stopped VM @@ -2905,7 +2905,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_19_create_reset_vm_sshkey(self): """ @Desc: Test to verify creation and reset of SSH Key for VM @@ -3032,7 +3032,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_20_update_vm_displayname_group(self): """ @Desc: Test to verify Update VM details @@ -3133,7 +3133,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_21_restore_vm(self): """ @Desc: Test to verify Restore VM @@ -3220,7 +3220,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_22_deploy_vm_multiple_networks(self): """ @Desc: Test to verify deploy VM with multiple networks @@ -3354,7 +3354,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["basic", "provisioning"]) + @attr(tags=["basic"], required_hardware="true") def test_23_deploy_vm_multiple_securitygroups(self): """ @Desc: Test to verify deploy VM with multiple Security Groups @@ -3470,7 +3470,7 @@ class TestInstances(cloudstackTestCase): ) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_24_deploy_vm_with_static_ip_ES1662(self): """ @Desc: Test to verify deploy VM with static ip address assignment @@ -3579,7 +3579,7 @@ class TestInstances(cloudstackTestCase): raise Exception("Warning: Exception in expunging vm : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_25_ip_reallocation_ES1377(self): """ @Desc: Test to verify dnsmasq dhcp conflict issue due to /ect/hosts not getting udpated diff --git a/test/integration/component/test_escalations_ipaddresses.py b/test/integration/component/test_escalations_ipaddresses.py index 6c9b24bb8af..00aacbff24a 100644 --- a/test/integration/component/test_escalations_ipaddresses.py +++ b/test/integration/component/test_escalations_ipaddresses.py @@ -140,7 +140,7 @@ class TestIpAddresses(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_01_list_ipaddresses_pagination(self): """ @summary: Test List IP Addresses pagination @@ -312,7 +312,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_02_list_ipaddresses_byid(self): """ @summary: Test List IP Addresses details by ID @@ -489,7 +489,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_03_associate_ipaddress_for_vpc(self): """ @summary: Test to Associate IP Address for VPC @@ -641,7 +641,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_04_create_delete_lbrule_fornonvpc(self): """ @summary: Test to list, create and delete Load Balancer Rule for IP Address associated to Non VPC network @@ -813,7 +813,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_05_create_delete_lbrule_forvpc(self): """ @summary: Test to list, create and delete Load Balancer Rule for IP Address associated to VPC @@ -1019,7 +1019,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_06_update_lbrule_name(self): """ @summary: Test to Update Load Balancer Rule Name for IP Address associated to Non VPC network @@ -1218,7 +1218,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_07_assign_remove_lbrule_toinstance(self): """ @summary: Test to Assign and Remove Load Balancer Rule to an Instance @@ -1534,7 +1534,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_08_list_create_delete_lbsticky_policy(self): """ @summary: Test to List, Create, Delete Load Balancer Stickyness Policy @@ -1773,7 +1773,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_09_create_delete_portforwarding_fornonvpc(self): """ @summary: Test to list, create and delete Port Forwarding for IP Address associated to Non VPC network @@ -1997,7 +1997,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_10_create_delete_portforwarding_forvpc(self): """ @summary: Test to list, create and delete Port Forwarding Rule for IP Address associated to VPC @@ -2220,7 +2220,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_11_create_delete_firewallrule(self): """ @summary: Test to list, create and delete Firewall Rule for IP Address associated to Non VPC network @@ -2396,7 +2396,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_12_create_delete_remoteaccessvpn(self): """ @summary: Test to list, create and delete Remote Access VPNs @@ -2569,7 +2569,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_13_add_remove_vpnusers(self): """ @summary: Test to list, add and remove VPN Users @@ -2780,7 +2780,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_14_enable_disable_staticnat_fornonvpc(self): """ @summary: Test to Enable and Disable StaticNat for IP Address associated to Non VPC Network @@ -2956,7 +2956,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_15_enable_disable_staticnat_forvpc(self): """ @summary: Test to Enable and Disable StaticNat for IP Address associated to VPC Network @@ -3156,7 +3156,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_16_create_delete_ipforwardingrule(self): """ @summary: Test to list, create and delete IP Forwarding Rules for IP Address @@ -3364,7 +3364,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_17_create_update_autoscalepolicy(self): """ @summary: Test to list, create and update Autoscale Policy @@ -3642,7 +3642,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_18_create_update_autoscaleprofiles(self): """ @summary: Test to list, create and update Autoscale VM Profiles @@ -3962,7 +3962,7 @@ class TestIpAddresses(cloudstackTestCase): self.cleanup.append(self.account) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_19_create_update_autoscalevmgroup(self): """ @summary: Test to list, create, update, enable, disable Autoscale VM Profiles diff --git a/test/integration/component/test_escalations_isos.py b/test/integration/component/test_escalations_isos.py index a0fa3332fa1..925c2fb7215 100644 --- a/test/integration/component/test_escalations_isos.py +++ b/test/integration/component/test_escalations_isos.py @@ -135,7 +135,7 @@ class TestIsos(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_01_list_isos_pagination(self): """ @Desc: Test to List ISO's pagination @@ -289,7 +289,7 @@ class TestIsos(cloudstackTestCase): del self.services["iso"]["zoneid"] return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_02_download_iso(self): """ @Desc: Test to Download ISO @@ -404,7 +404,7 @@ class TestIsos(cloudstackTestCase): del self.services["iso"]["isextractable"] return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_03_edit_iso_details(self): """ @Desc: Test to Edit ISO name, displaytext, OSType @@ -588,7 +588,7 @@ class TestIsos(cloudstackTestCase): del self.services["iso"]["zoneid"] return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_04_copy_iso(self): """ @Desc: Test to copy ISO from one zone to another diff --git a/test/integration/component/test_escalations_networks.py b/test/integration/component/test_escalations_networks.py index 56f61b4511e..5fad43aec9f 100644 --- a/test/integration/component/test_escalations_networks.py +++ b/test/integration/component/test_escalations_networks.py @@ -140,7 +140,7 @@ class TestNetworks_1(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_01_list_networks_pagination(self): """ @Desc: Test List Networks pagination @@ -260,7 +260,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_02_create_network_without_sourcenat(self): """ @Desc: Test create network if supported services doesn't have sourcenat @@ -292,7 +292,7 @@ class TestNetworks_1(cloudstackTestCase): self.test_data["network_without_acl"]["networkoffering"] = self.network_offering.id return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_03_list_vpc_pagination(self): """ @Desc: Test create vpc with network domain as parameter @@ -405,7 +405,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_04_create_vpc_with_networkdomain(self): """ @Desc: Test create vpc with network domain as parameter @@ -452,7 +452,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_05_list_network_offerings_with_and_without_vpc(self): """ @Desc: Test list network offerings for vpc true and false parameters @@ -551,7 +551,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_06_create_network_in_vpc(self): """ @Desc: Test create network in vpc and verify VPC name @@ -703,7 +703,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_07_create_delete_network(self): """ @Desc: Test delete network @@ -801,7 +801,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_08_update_network(self): """ @Desc: Test update network @@ -909,7 +909,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_09_list_virtual_machines_single_network(self): """ @Desc: Test update network @@ -1030,7 +1030,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_10_list_networks_in_vpc(self): """ @Desc: Test list networks in vpc and verify VPC name @@ -1160,7 +1160,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_11_update_vpc(self): """ @Desc: Test create vpc with network domain as parameter @@ -1256,7 +1256,7 @@ class TestNetworks_1(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_12_list_create_delete_networkACL(self): """ @Desc: Test create network in vpc and verify VPC name @@ -1523,7 +1523,7 @@ class TestNetworks_2(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_13_list_vpc_byid(self): """ @summary: Test List VPC with Id @@ -1619,7 +1619,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_14_list_public_ipadress_by_associated_networkid(self): """ @summary: Test List Public IPAddress with associatednetworkid @@ -1756,7 +1756,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_15_list_privategateway_byvpcid(self): """ @summary: Test List PrivateGateway by vpcid @@ -1881,7 +1881,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_16_create_list_delete_egressfirewallrule_bynetworkid(self): """ @summary: Test Create List Delete Egress Firewall Rule by Network ID @@ -2031,7 +2031,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_17_restart_vpc(self): """ @summary: Test to restart VPC @@ -2114,7 +2114,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_18_create_list_vpn_gateway(self): """ @Desc: Test to Create and list Vpn Gateway by VPCid @@ -2226,7 +2226,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_19_create_list_reset_delete_vpnconnections(self): """ @Desc: Test to List Create Reset and Delete VPN Customer Gateways pagination @@ -2475,7 +2475,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_20_list_capabilities(self): """ @summary: Test List Capabilities @@ -2498,7 +2498,7 @@ class TestNetworks_2(cloudstackTestCase): ) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_21_listNetworkacls_by_privategateway_aclid(self): """ @summary: Test to list Networkacllists by private gateway aclid diff --git a/test/integration/component/test_escalations_securitygroups.py b/test/integration/component/test_escalations_securitygroups.py index 076477ed1f7..ffaf6571b95 100644 --- a/test/integration/component/test_escalations_securitygroups.py +++ b/test/integration/component/test_escalations_securitygroups.py @@ -109,7 +109,7 @@ class TestSecurityGroups(cloudstackTestCase): )) return return_flag - @attr(tags=["basic", "provisioning"]) + @attr(tags=["basic"], required_hardware="true") def test_01_list_securitygroups_pagination(self): """ @Desc: Test to List Security Groups pagination @@ -235,7 +235,7 @@ class TestSecurityGroups(cloudstackTestCase): ) return - @attr(tags=["basic", "provisioning"]) + @attr(tags=["basic"], required_hardware="true") def test_02_securitygroups_authorize_revoke_ingress(self): """ @Desc: Test to Authorize and Revoke Ingress for Security Group @@ -399,7 +399,7 @@ class TestSecurityGroups(cloudstackTestCase): ) return - @attr(tags=["basic", "provisioning"]) + @attr(tags=["basic"], required_hardware="true") def test_03_securitygroups_authorize_revoke_egress(self): """ @Desc: Test to Authorize and Revoke Egress for Security Group diff --git a/test/integration/component/test_escalations_snapshots.py b/test/integration/component/test_escalations_snapshots.py index af493a1db21..f8c746bc56f 100644 --- a/test/integration/component/test_escalations_snapshots.py +++ b/test/integration/component/test_escalations_snapshots.py @@ -146,7 +146,7 @@ class TestSnapshots(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_01_list_volume_snapshots_pagination(self): """ @Desc: Test to List Volume Snapshots pagination @@ -278,7 +278,7 @@ class TestSnapshots(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_02_list_volume_snapshots_byid(self): """ @Desc: Test to List Volume Snapshots by Id @@ -396,7 +396,7 @@ class TestSnapshots(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_03_list_vm_snapshots_pagination(self): """ @Desc: Test to List VM Snapshots pagination @@ -534,7 +534,7 @@ class TestSnapshots(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_04_list_vm_snapshots_byid(self): """ @summary: Test to List VM Snapshots by Id diff --git a/test/integration/component/test_escalations_templates.py b/test/integration/component/test_escalations_templates.py index b869bde62be..c497e7189ef 100644 --- a/test/integration/component/test_escalations_templates.py +++ b/test/integration/component/test_escalations_templates.py @@ -111,7 +111,7 @@ class TestTemplates(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_01_list_templates_pagination(self): """ @Desc: Test to List Templates pagination @@ -267,7 +267,7 @@ class TestTemplates(cloudstackTestCase): del self.services["templateregister"]["ostype"] return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_02_download_template(self): """ @Desc: Test to Download Template @@ -384,7 +384,7 @@ class TestTemplates(cloudstackTestCase): del self.services["templateregister"]["isextractable"] return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_03_edit_template_details(self): """ @Desc: Test to Edit Template name, displaytext, OSType @@ -696,7 +696,7 @@ class TestTemplates(cloudstackTestCase): del self.services["templateregister"]["ostype"] return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_04_copy_template(self): """ @Desc: Test to copy Template from one zone to another diff --git a/test/integration/component/test_escalations_volumes.py b/test/integration/component/test_escalations_volumes.py index 9442ebcb2b9..db4c3d827e1 100644 --- a/test/integration/component/test_escalations_volumes.py +++ b/test/integration/component/test_escalations_volumes.py @@ -141,7 +141,7 @@ class TestVolumes(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_01_list_volumes_pagination(self): """ @summary: Test List Volumes pagination @@ -268,7 +268,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_02_list_volume_byid(self): """ @summary: Test List Volumes with Id @@ -431,7 +431,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_03_data_volume_resize(self): """ @summary: Test to verify creation and resize of data volume @@ -545,7 +545,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_04_custom_volume_resize(self): """ @summary: Test to verify creation and resize of custom volume @@ -664,7 +664,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_05_volume_snapshot(self): """ @summary: Test to verify creation of snapshot from volume and creation of template, volume from snapshot @@ -874,7 +874,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_06_volume_snapshot_policy_hourly(self): """ @summary: Test to verify creation of Hourly Snapshot policies from volume @@ -998,7 +998,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_07_volume_snapshot_policy_daily(self): """ @summary: Test to verify creation of Daily Snapshot policies from volume @@ -1121,7 +1121,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_08_volume_snapshot_policy_weekly(self): """ @summary: Test to verify creation of Weekly Snapshot policies from volume @@ -1244,7 +1244,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_09_volume_snapshot_policy_monthly(self): """ @summary: Test to verify creation of Monthly Snapshot policies from volume @@ -1375,7 +1375,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_10_volume_snapshots_pagination(self): """ @summary: Test to verify pagination of snapshots for Volume @@ -1551,7 +1551,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_11_volume_extract(self): """ @summary: Test to verify extract/download a Volume @@ -1659,7 +1659,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_12_volume_upload(self): """ @summary: Test to verify upload volume diff --git a/test/integration/component/test_escalations_vpncustomergateways.py b/test/integration/component/test_escalations_vpncustomergateways.py index 091a7c110e7..b09930ab099 100644 --- a/test/integration/component/test_escalations_vpncustomergateways.py +++ b/test/integration/component/test_escalations_vpncustomergateways.py @@ -134,7 +134,7 @@ class TestVpnCustomerGateways(cloudstackTestCase): )) return return_flag - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_01_list_vpncustomergateways_pagination(self): """ @Desc: Test to List VPN Customer Gateways pagination @@ -255,7 +255,7 @@ class TestVpnCustomerGateways(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_02_update_vpncustomergateways(self): """ @Desc: Test to update VPN Customer Gateways pagination diff --git a/test/integration/component/test_explicit_dedication.py b/test/integration/component/test_explicit_dedication.py index 4ce5c15fa9f..71c4141100d 100644 --- a/test/integration/component/test_explicit_dedication.py +++ b/test/integration/component/test_explicit_dedication.py @@ -153,7 +153,7 @@ class TestExplicitDedication(cloudstackTestCase): # This test requires multi host and at least one host which is empty (no vms should # be running on that host). It explicitly dedicates empty host to an account, deploys # a vm for that account and verifies that the vm gets deployed to the dedicated host. - @attr(tags=["advanced", "basic", "multihosts", "explicitdedication", "selfservice"]) + @attr(tags=["advanced", "basic", "multihosts", "explicitdedication"], required_hardware="false") def test_01_deploy_vm_with_explicit_dedication(self): """Test explicit dedication is placing vms of an account on dedicated hosts. """ diff --git a/test/integration/component/test_haproxy.py b/test/integration/component/test_haproxy.py index e3b45b5ab3d..2778902d233 100644 --- a/test/integration/component/test_haproxy.py +++ b/test/integration/component/test_haproxy.py @@ -695,7 +695,7 @@ class TestHAProxyStickyness(cloudstackTestCase): listall=True) return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_07_delete_account(self): """Test Delete account and check the router and its rules""" @@ -736,7 +736,7 @@ class TestHAProxyStickyness(cloudstackTestCase): listall=True) return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_08_create_policy_router_stopped(self): """Test verify create stickiness policy when router is stopped state""" @@ -769,7 +769,7 @@ class TestHAProxyStickyness(cloudstackTestCase): self.validate_Stickiness_Policy(lb_rule, "LbCookie", self.public_ip.ipaddress.ipaddress) return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_09_create_policy_router_destroy(self): """Test check the stickiness policy rules after destroying router""" @@ -800,7 +800,7 @@ class TestHAProxyStickyness(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_10_create_policy_enable_disable_vpn(self): """Test enable/disable the VPN after applying sticky policy rules""" @@ -831,7 +831,7 @@ class TestHAProxyStickyness(cloudstackTestCase): self.validate_Stickiness_Policy(lb_rule, "LbCookie", self.public_ip.ipaddress.ipaddress) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_11_invalid_params(self): """Test verfify functionality syncronous and asyncronous validations""" diff --git a/test/integration/component/test_implicit_planner.py b/test/integration/component/test_implicit_planner.py index 9cbd73c6f89..b538a3d18c1 100644 --- a/test/integration/component/test_implicit_planner.py +++ b/test/integration/component/test_implicit_planner.py @@ -145,7 +145,7 @@ class TestImplicitPlanner(cloudstackTestCase): # be running on that host). It uses an implicit planner to deploy instances and the # instances of a new account should go to an host that doesn't have vms of any other # account. - @attr(tags=["advanced", "basic", "multihosts", "implicitplanner", "selfservice"]) + @attr(tags=["advanced", "basic", "multihosts", "implicitplanner"], required_hardware="false") def test_01_deploy_vm_with_implicit_planner(self): """Test implicit planner is placing vms of an account on implicitly dedicated hosts. """ diff --git a/test/integration/component/test_ip_reservation.py b/test/integration/component/test_ip_reservation.py index 157b7dd36b3..37b783f7169 100644 --- a/test/integration/component/test_ip_reservation.py +++ b/test/integration/component/test_ip_reservation.py @@ -1062,7 +1062,7 @@ class TestFailureScnarios(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_network_not_implemented(self): # steps # 1. update guestvmcidr of isolated network (non persistent) @@ -1081,7 +1081,7 @@ class TestFailureScnarios(cloudstackTestCase): isolated_network.update(self.apiclient, guestvmcidr="10.1.1.0/26") return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_vm_create_after_reservation(self): # steps # 1. create vm in persistent isolated network with ip in guestvmcidr @@ -1140,7 +1140,7 @@ class TestFailureScnarios(cloudstackTestCase): self.skipTest("VM creation fails, cannot validate the condition: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_reservation_after_router_restart(self): # steps # 1. update guestvmcidr of persistent isolated network @@ -1193,7 +1193,7 @@ class TestFailureScnarios(cloudstackTestCase): self.assertEqual(networks[0].cidr, guest_vm_cidr, "guestvmcidr should match after router reboot") return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_vm_create_outside_cidr_after_reservation(self): # steps # 1. update guestvmcidr of persistent isolated network diff --git a/test/integration/component/test_ldap.py b/test/integration/component/test_ldap.py index 5dd96928374..647e5b5e199 100644 --- a/test/integration/component/test_ldap.py +++ b/test/integration/component/test_ldap.py @@ -128,7 +128,7 @@ class TestLdap(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_01_addLdapConfiguration(self): """ This test configures LDAP and attempts to authenticate as a user. diff --git a/test/integration/component/test_memory_limits.py b/test/integration/component/test_memory_limits.py index 5dd3ba0e5be..33236a72e10 100644 --- a/test/integration/component/test_memory_limits.py +++ b/test/integration/component/test_memory_limits.py @@ -177,7 +177,7 @@ class TestMemoryLimits(cloudstackTestCase): except Exception as e: self.fail("Failed to deploy an instance: %s" % e) - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_stop_start_instance(self): """Test Deploy VM with specified RAM & verify the usage""" @@ -229,7 +229,7 @@ class TestMemoryLimits(cloudstackTestCase): "Resource count should be same after stopping the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_migrate_instance(self): """Test Deploy VM with specified RAM & verify the usage""" @@ -270,7 +270,7 @@ class TestMemoryLimits(cloudstackTestCase): "Resource count should be same after stopping the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_delete_instance(self): """Test Deploy VM with specified GB RAM & verify the usage""" @@ -309,7 +309,7 @@ class TestMemoryLimits(cloudstackTestCase): self.assertEqual(resource_count_after_delete, 0 , "Resource count for %s should be 0" % get_resource_type(resource_id=9))#RAM return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_04_deploy_multiple_vm(self): """Test Deploy multiple VM with specified RAM & verify the usage""" @@ -481,7 +481,7 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_stop_start_instance(self): """Test Deploy VM with 5 GB memory & verify the usage""" @@ -553,7 +553,7 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase): "Resource count should be same after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_migrate_instance(self): """Test Deploy VM with specified memory & verify the usage""" @@ -613,7 +613,7 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase): "Resource count should be same after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_delete_instance(self): """Test Deploy VM with specified RAM & verify the usage""" diff --git a/test/integration/component/test_mm_domain_limits.py b/test/integration/component/test_mm_domain_limits.py index bc8c9ea5532..a6d64d5c214 100644 --- a/test/integration/component/test_mm_domain_limits.py +++ b/test/integration/component/test_mm_domain_limits.py @@ -210,7 +210,7 @@ class TestDomainMemoryLimits(cloudstackTestCase): domainid=self.child_do_admin_2.domainid) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_change_service_offering(self): """Test Deploy VM with specified RAM & verify the usage""" @@ -349,7 +349,7 @@ class TestDomainMemoryLimits(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_migrate_vm(self): """Test Deploy VM with specified RAM & verify the usage""" @@ -410,7 +410,7 @@ class TestDomainMemoryLimits(cloudstackTestCase): "Resource count should be same after migrating the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_delete_vm(self): """Test Deploy VM with specified RAM & verify the usage""" @@ -469,7 +469,7 @@ class TestDomainMemoryLimits(cloudstackTestCase): self.assertEqual(resource_count_after_delete, 0 , "Resource count for %s should be 0" % get_resource_type(resource_id=9))#RAM return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_04_deploy_multiple_vm(self): """Test Deploy multiple VM with specified RAM & verify the usage""" @@ -684,7 +684,7 @@ class TestMultipleChildDomainsMemory(cloudstackTestCase): } return users - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_multiple_child_domains(self): """Test memory limits with multiple child domains""" diff --git a/test/integration/component/test_mm_max_limits.py b/test/integration/component/test_mm_max_limits.py index 34d4147b90b..e08052b2f8e 100644 --- a/test/integration/component/test_mm_max_limits.py +++ b/test/integration/component/test_mm_max_limits.py @@ -240,7 +240,7 @@ class TestMaxMemoryLimits(cloudstackTestCase): (responses.domain, responses.domainid, responses.max)) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_deploy_vm_domain_limit_reached(self): """Test Try to deploy VM with admin account where account has not used the resources but @ domain they are not available""" @@ -267,7 +267,7 @@ class TestMaxMemoryLimits(cloudstackTestCase): service_off=self.service_offering, api_client=api_client) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_02_deploy_vm_account_limit_reached(self): """Test Try to deploy VM with admin account where account has used the resources but @ domain they are available""" @@ -297,7 +297,7 @@ class TestMaxMemoryLimits(cloudstackTestCase): service_off=self.service_offering, api_client=api_client) return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_deploy_vm_project_limit_reached(self): """Test TTry to deploy VM with admin account where account has not used the resources but @ project they are not available""" @@ -321,7 +321,7 @@ class TestMaxMemoryLimits(cloudstackTestCase): service_off=self.service_offering, api_client=api_client) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_04_deployVm__account_limit_reached(self): """Test Try to deploy VM with admin account where account has used the resources but @ project they are available""" diff --git a/test/integration/component/test_mm_project_limits.py b/test/integration/component/test_mm_project_limits.py index 593b2b64004..9f0ecfe0b96 100644 --- a/test/integration/component/test_mm_project_limits.py +++ b/test/integration/component/test_mm_project_limits.py @@ -217,7 +217,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase): "Check project name from list response") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_01_project_vmlifecycle_start_stop_instance(self): # Validate the following @@ -274,7 +274,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase): "Resource count should be same after starting the instance") return - @attr(tags=["advanced", "advancedns","simulator", "provisioning"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="true") def test_02_project_vmlifecycle_migrate_instance(self): # Validate the following @@ -315,7 +315,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase): "Resource count should be same after migrating the instance") return - @attr(tags=["advanced", "advancedns","simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns","simulator"], required_hardware="false") def test_03_project_vmlifecycle_delete_instance(self): # Validate the following diff --git a/test/integration/component/test_netscaler_configs.py b/test/integration/component/test_netscaler_configs.py index 6d856094f74..b94e42d4e97 100644 --- a/test/integration/component/test_netscaler_configs.py +++ b/test/integration/component/test_netscaler_configs.py @@ -204,7 +204,7 @@ class TestAddNetScaler(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_add_netscaler_device(self): """Test add netscaler device """ @@ -329,7 +329,7 @@ class TestInvalidParametersNetscaler(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_invalid_cred(self): """Test add netscaler device with invalid credential """ @@ -398,7 +398,7 @@ class TestInvalidParametersNetscaler(cloudstackTestCase): ) return - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_invalid_public_interface(self): """Test add netscaler device with invalid public interface """ @@ -465,7 +465,7 @@ class TestInvalidParametersNetscaler(cloudstackTestCase): ) return - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_invalid_private_interface(self): """Test add netscaler device with invalid private interface """ diff --git a/test/integration/component/test_netscaler_nw_off.py b/test/integration/component/test_netscaler_nw_off.py index af53eb7677f..301c8663e8b 100644 --- a/test/integration/component/test_netscaler_nw_off.py +++ b/test/integration/component/test_netscaler_nw_off.py @@ -243,7 +243,7 @@ class TestAddMultipleNetScaler(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_add_netscaler_device(self): """Test add netscaler device """ @@ -401,7 +401,7 @@ class TestAddMultipleNSDiffZone(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advancedns", "multizone", "provisioning"]) + @attr(tags=["advancedns", "multizone"], required_hardware="true") def test_add_mul_netscaler_diff_zone(self): """Test add netscaler devices in different zones """ diff --git a/test/integration/component/test_network_offering.py b/test/integration/component/test_network_offering.py index 9a7c78621d9..9d35721f16c 100644 --- a/test/integration/component/test_network_offering.py +++ b/test/integration/component/test_network_offering.py @@ -238,7 +238,7 @@ class TestNOVirtualRouter(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_01_network_off_without_conserve_mode(self): """Test Network offering with Conserve mode off and VR - All services """ @@ -483,7 +483,7 @@ class TestNOVirtualRouter(cloudstackTestCase): ) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_02_network_off_with_conserve_mode(self): """Test Network offering with Conserve mode ON and VR - All services """ @@ -750,7 +750,7 @@ class TestNOVirtualRouter(cloudstackTestCase): ) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_03_network_off_CS5332(self): """ @Desc: Test Network offering with Custom system offering for VR @@ -864,7 +864,7 @@ class TestNOVirtualRouter(cloudstackTestCase): self.debug("Deployed VM in network: %s" % self.network.id) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_04_network_without_domain_CS19303(self): """ @Desc: Errors editing a network without a network domain specified @@ -983,7 +983,7 @@ class TestNetworkUpgrade(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_01_nwupgrade_netscaler_conserve_on(self): """Test Nw upgrade to netscaler lb service and conserve mode ON """ @@ -1183,7 +1183,7 @@ class TestNetworkUpgrade(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advancedns", "provisioning"]) + @attr(tags=["advancedns"], required_hardware="true") def test_02_nwupgrade_netscaler_conserve_off(self): """Test Nw upgrade to netscaler lb service and conserve mode OFF """ @@ -1402,7 +1402,7 @@ class TestNOWithOnlySourceNAT(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_create_network_with_snat(self): """Test to create a network with SourceNAT service only""" diff --git a/test/integration/component/test_persistent_networks.py b/test/integration/component/test_persistent_networks.py index 971edcea657..02f622906b4 100644 --- a/test/integration/component/test_persistent_networks.py +++ b/test/integration/component/test_persistent_networks.py @@ -196,7 +196,7 @@ class TestPersistentNetworks(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_network_state_after_destroying_vms(self): # steps # 1. Create an isolated persistent network @@ -247,7 +247,7 @@ class TestPersistentNetworks(cloudstackTestCase): self.fail(exceptionMessage) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_shared_network_offering_with_persistent(self): # steps # 1. create shared network offering with persistent field enabled diff --git a/test/integration/component/test_portable_ip.py b/test/integration/component/test_portable_ip.py index 73aa7c0ed98..cf0cb3bd93c 100644 --- a/test/integration/component/test_portable_ip.py +++ b/test/integration/component/test_portable_ip.py @@ -194,7 +194,7 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_create_portable_ip_range(self): """Test create new portable ip range """ @@ -217,7 +217,7 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase): self.fail("Failed to create portable IP range: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_create_portable_ip_range_non_root_admin(self): """Test create new portable ip range with non admin root account """ @@ -254,7 +254,7 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase): return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_create_portable_ip_range_invalid_region(self): """Test create portable ip range with invalid region id""" @@ -337,7 +337,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_delete_portable_ip_range(self): """Test delete ip range """ @@ -347,7 +347,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase): self.portable_ip_range.delete(self.apiclient) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_delete_portable_ip_range_non_root_admin(self): """Test delete ip range - non admin root """ @@ -379,7 +379,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase): self.portable_ip_range.delete(self.apiclient) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_delete_portable_ip_range_in_use(self): """Test delete ip range """ @@ -505,7 +505,7 @@ class TestListPortablePublicIpRanges(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_list_portable_ip_range(self): """Test list portable ip ranges """ @@ -537,7 +537,7 @@ class TestListPortablePublicIpRanges(cloudstackTestCase): "Listed netmask not matching with the netmask of created public ip range") return - @attr(tags=["advanced","swamy", "selfservice"]) + @attr(tags=["advanced","swamy"], required_hardware="false") def test_list_portable_ip_range_non_root_admin(self): """Test list portable ip ranges with non admin root account """ @@ -658,7 +658,7 @@ class TestAssociatePublicIp(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_associate_ip_address(self): """ Test assocoate public ip address """ @@ -707,7 +707,7 @@ class TestAssociatePublicIp(cloudstackTestCase): return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_associate_ip_address_invalid_zone(self): """ Test Associate IP with invalid zone id """ @@ -729,7 +729,7 @@ class TestAssociatePublicIp(cloudstackTestCase): publicipaddress.delete(self.apiclient) return - @attr(tags=["advanced", "provisioning"]) + @attr(tags=["advanced"], required_hardware="true") def test_associate_ip_address_services_enable_disable(self): """ Test enabling and disabling NAT, Firewall services on portable ip """ @@ -828,7 +828,7 @@ class TestAssociatePublicIp(cloudstackTestCase): portableip.delete(self.apiclient) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_associate_ip_address_no_free_ip(self): """ Test assocoate public ip address """ @@ -991,7 +991,7 @@ class TestDisassociatePublicIp(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_disassociate_ip_address_no_services(self): """ Test disassociating portable ip """ @@ -1014,7 +1014,7 @@ class TestDisassociatePublicIp(cloudstackTestCase): raise Exception("Exception occured: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_disassociate_ip_address_services_enabled(self): """ Test disassociating portable ip """ @@ -1071,7 +1071,7 @@ class TestDisassociatePublicIp(cloudstackTestCase): raise Exception("Exception while disassociating portable ip: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_disassociate_ip_address_other_account(self): """ Test disassociating portable IP with non-owner account """ @@ -1210,7 +1210,7 @@ class TestDeleteAccount(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_delete_account_services_disabled(self): """ test delete account with portable ip with no services enabled """ @@ -1232,7 +1232,7 @@ class TestDeleteAccount(cloudstackTestCase): self.assertEqual(list_publicips, None, "List of ip addresses should be empty") return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_delete_account_services_enabled(self): """ test delete account with portable ip with PF and firewall services enabled """ @@ -1443,7 +1443,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced","swamy", "selfservice"]) + @attr(tags=["advanced","swamy"], required_hardware="false") def test_list_portable_ip_range_non_root_admin(self): """Test list portable ip ranges with non admin root account """ diff --git a/test/integration/component/test_project_configs.py b/test/integration/component/test_project_configs.py index 4b777fececd..1a560ccd0ca 100644 --- a/test/integration/component/test_project_configs.py +++ b/test/integration/component/test_project_configs.py @@ -173,7 +173,7 @@ class TestUserProjectCreation(cloudstackTestCase): return @attr(configuration = "allow.user.create.projects") - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_admin_project_creation(self): """Test create project as a domain admin and domain user """ @@ -477,7 +477,7 @@ class TestProjectInviteRequired(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_add_user_to_project(self): """Add user to project when 'project.invite.required' is false""" @@ -628,7 +628,7 @@ class TestProjectInviteRequiredTrue(cloudstackTestCase): return @attr(configuration = "project.invite.required") - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_add_user_to_project(self): """Add user to project when 'project.invite.required' is true""" diff --git a/test/integration/component/test_project_limits.py b/test/integration/component/test_project_limits.py index 79413131824..5f33ad86fc0 100644 --- a/test/integration/component/test_project_limits.py +++ b/test/integration/component/test_project_limits.py @@ -183,7 +183,7 @@ class TestProjectLimits(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_project_limits(self): """ Test project limits for domain admin """ @@ -350,7 +350,7 @@ class TestProjectLimits(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_02_project_limits_normal_user(self): """ Test project limits for normal user """ @@ -575,7 +575,7 @@ class TestResourceLimitsProject(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_03_vm_per_project(self): """Test VM limit per project """ @@ -637,7 +637,7 @@ class TestResourceLimitsProject(cloudstackTestCase): ) return - @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "simulator"], required_hardware="false") def test_04_publicip_per_project(self): """Test Public IP limit per project """ @@ -722,7 +722,7 @@ class TestResourceLimitsProject(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_05_snapshots_per_project(self): """Test Snapshot limit per project """ @@ -798,7 +798,7 @@ class TestResourceLimitsProject(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_06_volumes_per_project(self): """Test Volumes limit per project """ @@ -854,7 +854,7 @@ class TestResourceLimitsProject(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_07_templates_per_project(self): """Test Templates limit per project """ diff --git a/test/integration/component/test_project_resources.py b/test/integration/component/test_project_resources.py index e533ca30117..e769860f94e 100644 --- a/test/integration/component/test_project_resources.py +++ b/test/integration/component/test_project_resources.py @@ -225,7 +225,7 @@ class TestOfferings(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_service_offerings(self): """ Test service offerings in a project """ @@ -267,7 +267,7 @@ class TestOfferings(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_02_project_disk_offerings(self): """ Test project disk offerings """ @@ -399,7 +399,7 @@ class TestNetwork(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_03_network_create(self): """ Test create network in project """ @@ -618,7 +618,7 @@ class TestTemplates(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_04_public_template_use_in_project(self): """Test Templates creation in projects """ @@ -679,7 +679,7 @@ class TestTemplates(cloudstackTestCase): self.fail("Exception occured: %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_05_use_private_template_in_project(self): """Test use of private template in a project """ @@ -843,7 +843,7 @@ class TestSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_06_create_snapshots_in_project(self): """Test create snapshots in project """ @@ -996,7 +996,7 @@ class TestPublicIpAddress(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_07_associate_public_ip(self): """Test associate public IP within the project """ diff --git a/test/integration/component/test_project_usage.py b/test/integration/component/test_project_usage.py index 512156dfe67..3262e4010a0 100644 --- a/test/integration/component/test_project_usage.py +++ b/test/integration/component/test_project_usage.py @@ -204,7 +204,7 @@ class TestVmUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_vm_usage(self): """Test Create/Destroy VM and verify usage calculation """ @@ -420,7 +420,7 @@ class TestPublicIPUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_public_ip_usage(self): """Test Assign new IP and verify usage calculation """ @@ -578,7 +578,7 @@ class TestVolumeUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_volume_usage(self): """Test Create/delete a volume and verify correct usage is recorded """ @@ -774,7 +774,7 @@ class TestTemplateUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_01_template_usage(self): """Test Upload/ delete a template and verify correct usage is generated for the template uploaded @@ -929,7 +929,7 @@ class TestISOUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_01_ISO_usage(self): """Test Create/Delete a ISO and verify its usage is generated correctly """ @@ -1102,7 +1102,7 @@ class TestLBRuleUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_lb_usage(self): """Test Create/Delete a LB rule and verify correct usage is recorded """ @@ -1269,7 +1269,7 @@ class TestSnapshotUsage(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_snapshot_usage(self): """Test Create/Delete a manual snap shot and verify correct usage is recorded @@ -1459,7 +1459,7 @@ class TestNatRuleUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_nat_usage(self): """Test Create/Delete a PF rule and verify correct usage is recorded """ @@ -1642,7 +1642,7 @@ class TestVpnUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_vpn_usage(self): """Test Create/Delete a VPN and verify correct usage is recorded """ diff --git a/test/integration/component/test_projects.py b/test/integration/component/test_projects.py index 241dab8f00c..cacb5a44de5 100644 --- a/test/integration/component/test_projects.py +++ b/test/integration/component/test_projects.py @@ -162,7 +162,7 @@ class TestMultipleProjectCreation(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_create_multiple_projects_by_account(self): """ Verify an account can own multiple projects and can belong to multiple projects """ @@ -379,7 +379,7 @@ class TestCrossDomainAccountAdd(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_02_cross_domain_account_add(self): """ Verify No cross domain projects """ @@ -496,7 +496,7 @@ class TestDeleteAccountWithProject(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_03_delete_account_with_project(self): """ Test As long as the project exists, its owner can't be removed """ @@ -609,7 +609,7 @@ class TestDeleteDomainWithProject(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_04_delete_domain_with_project(self): """ Test Verify delete domain with cleanup=true should delete projects belonging to the domain @@ -751,7 +751,7 @@ class TestProjectOwners(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_05_user_project_owner_promotion(self): """ Test Verify a project user can be later promoted to become a owner @@ -893,7 +893,7 @@ class TestProjectOwners(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_06_max_one_project_owner(self): """ Test Verify there can only be one owner of a project at a time """ @@ -1180,7 +1180,7 @@ class TestProjectResources(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_07_project_resources_account_delete(self): """ Test Verify after an account is removed from the project, all its resources stay with the project. """ @@ -1294,7 +1294,7 @@ class TestProjectResources(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_08_cleanup_after_project_delete(self): """ Test accounts are unassigned from project after project deletion """ @@ -1503,7 +1503,7 @@ class TestProjectSuspendActivate(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_09_project_suspend(self): """ Test Verify after an account is removed from the project, all his resources stay with the project. @@ -1640,7 +1640,7 @@ class TestProjectSuspendActivate(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_10_project_activation(self): """ Test project activation after suspension """ diff --git a/test/integration/component/test_ps_domain_limits.py b/test/integration/component/test_ps_domain_limits.py index 39add1ee16e..268174f61a9 100644 --- a/test/integration/component/test_ps_domain_limits.py +++ b/test/integration/component/test_ps_domain_limits.py @@ -299,7 +299,7 @@ class TestMultipleChildDomain(cloudstackTestCase): self.assertTrue(result[2], "Resource count does not match") return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_02_multiple_domains_primary_storage_limits(self): """Test primary storage counts in multiple child domains # Steps @@ -378,7 +378,7 @@ class TestMultipleChildDomain(cloudstackTestCase): self.fail("Failure: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_03_multiple_domains_multiple_volumes(self): """Test primary storage counts in multiple child domains # Steps @@ -482,7 +482,7 @@ class TestMultipleChildDomain(cloudstackTestCase): self.fail("Failure: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_04_create_template_snapshot(self): """Test create snapshot and templates from volume @@ -571,7 +571,7 @@ class TestMultipleChildDomain(cloudstackTestCase): self.fail("Failed with exception : %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @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 @@ -631,7 +631,7 @@ class TestMultipleChildDomain(cloudstackTestCase): self.fail("Failed with exception: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_06_destroy_recover_vm(self): """Test primary storage counts while destroying and recovering VM # Steps diff --git a/test/integration/component/test_ps_limits.py b/test/integration/component/test_ps_limits.py index cbedfe7432d..e557249792d 100644 --- a/test/integration/component/test_ps_limits.py +++ b/test/integration/component/test_ps_limits.py @@ -145,7 +145,7 @@ class TestVolumeLimits(cloudstackTestCase): return [PASS, None] @data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_stop_start_vm(self, value): """Test Deploy VM with 5 GB volume & verify the usage @@ -184,7 +184,7 @@ class TestVolumeLimits(cloudstackTestCase): @unittest.skip("skip") @data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_destroy_recover_vm(self, value): """Test delete and recover instance @@ -222,7 +222,7 @@ class TestVolumeLimits(cloudstackTestCase): return @data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_attach_detach_volume(self, value): """Stop attach and detach volume from VM @@ -291,7 +291,7 @@ class TestVolumeLimits(cloudstackTestCase): return @data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_create_multiple_volumes(self, value): """Test create multiple volumes @@ -385,7 +385,7 @@ class TestVolumeLimits(cloudstackTestCase): return @data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_deploy_multiple_vm(self, value): """Test Deploy multiple VMs with & verify the usage # Validate the following @@ -494,7 +494,7 @@ class TestVolumeLimits(cloudstackTestCase): return @data(ROOT_DOMAIN_ADMIN, CHILD_DOMAIN_ADMIN) - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_create_template_snapshot(self, value): """Test create snapshot and templates from volume diff --git a/test/integration/component/test_ps_project_limits.py b/test/integration/component/test_ps_project_limits.py index 471b4a187ad..9420e301685 100644 --- a/test/integration/component/test_ps_project_limits.py +++ b/test/integration/component/test_ps_project_limits.py @@ -138,7 +138,7 @@ class TestProjectsVolumeLimits(cloudstackTestCase): return [FAIL, e] return [PASS, None] - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_01_VM_start_stop(self): """Test project primary storage count with VM stop/start operation @@ -173,7 +173,7 @@ class TestProjectsVolumeLimits(cloudstackTestCase): self.assertEqual(response[0], PASS, response[1]) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_02_migrate_vm(self): """Test migrate VM in project @@ -200,7 +200,7 @@ class TestProjectsVolumeLimits(cloudstackTestCase): self.assertEqual(response[0], PASS, response[1]) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_03_delete_vm(self): """Test delete VM belonging to project diff --git a/test/integration/component/test_ps_resize_volume.py b/test/integration/component/test_ps_resize_volume.py index 737f9103319..5df4a6279f0 100644 --- a/test/integration/component/test_ps_resize_volume.py +++ b/test/integration/component/test_ps_resize_volume.py @@ -159,7 +159,7 @@ class TestResizeVolume(cloudstackTestCase): return [FAIL, e] return [PASS, None] - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_01_increase_volume_size_within_account_limit(self): """Test increasing volume size within the account limit and verify primary storage usage @@ -223,7 +223,7 @@ class TestResizeVolume(cloudstackTestCase): self.fail("Failed with exception: %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_02_increase_volume_size_above_account_limit(self): """Test increasing volume size above the account limit @@ -281,7 +281,7 @@ class TestResizeVolume(cloudstackTestCase): volume.resize(apiclient, diskofferingid=self.disk_offering_20_GB.id) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_03_increase_volume_size_above_domain_limit(self): """Test increasing volume size above the domain limit diff --git a/test/integration/component/test_recurring_snapshots.py b/test/integration/component/test_recurring_snapshots.py index 2ef2bc3678c..faa6787ea34 100644 --- a/test/integration/component/test_recurring_snapshots.py +++ b/test/integration/component/test_recurring_snapshots.py @@ -218,7 +218,7 @@ class TestRecurringSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "smoke", "selfservice"]) + @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="false") def test_recurring_snapshot_root_disk(self): """Test Recurring Snapshot Root Disk """ @@ -311,7 +311,7 @@ class TestRecurringSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "smoke", "selfservice"]) + @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="false") def test_recurring_snapshot_data_disk(self): """Test Recurring Snapshot data Disk """ diff --git a/test/integration/component/test_redundant_router_cleanups.py b/test/integration/component/test_redundant_router_cleanups.py index 47e60c8bc90..295ce08328f 100644 --- a/test/integration/component/test_redundant_router_cleanups.py +++ b/test/integration/component/test_redundant_router_cleanups.py @@ -209,7 +209,7 @@ class TestRedundantRouterNetworkCleanups(cloudstackTestCase): #raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "ssh", "selfservice"]) + @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="false") def test_restart_ntwk_no_cleanup(self): """Test restarting RvR network without cleanup """ @@ -343,7 +343,7 @@ class TestRedundantRouterNetworkCleanups(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "ssh", "selfservice"]) + @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="false") def test_restart_ntwk_with_cleanup(self): """Test restart RvR network with cleanup """ @@ -477,7 +477,7 @@ class TestRedundantRouterNetworkCleanups(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "ssh", "selfservice"]) + @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="false") def test_network_gc(self): """Test network garbage collection with RVR """ diff --git a/test/integration/component/test_redundant_router_services.py b/test/integration/component/test_redundant_router_services.py index 707b673b537..ba282b28834 100644 --- a/test/integration/component/test_redundant_router_services.py +++ b/test/integration/component/test_redundant_router_services.py @@ -200,7 +200,7 @@ class TestEnableVPNOverRvR(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "ssh", "selfservice"]) + @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="false") def test_enableVPNOverRvR(self): """Test redundant router internals """ diff --git a/test/integration/component/test_redundant_router_upgrades.py b/test/integration/component/test_redundant_router_upgrades.py index 6c177effa25..7be1effbb50 100644 --- a/test/integration/component/test_redundant_router_upgrades.py +++ b/test/integration/component/test_redundant_router_upgrades.py @@ -199,7 +199,7 @@ class TestRvRUpgradeDowngrade(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "ssh", "selfservice"]) + @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="false") def test_upgradeVR_to_redundantVR(self): """Test upgrade virtual router to redundant virtual router """ @@ -344,7 +344,7 @@ class TestRvRUpgradeDowngrade(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "ssh", "selfservice"]) + @attr(tags=["advanced", "advancedns", "ssh"], required_hardware="false") def test_downgradeRvR_to_VR(self): """Test downgrade redundant virtual router to virtual router """ diff --git a/test/integration/component/test_regions.py b/test/integration/component/test_regions.py index 40e65cfa9ea..38b96d59bcd 100644 --- a/test/integration/component/test_regions.py +++ b/test/integration/component/test_regions.py @@ -67,14 +67,14 @@ class TestRegions(cloudstackTestCase): msg="Region creation failed" ) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_createRegionWithExistingRegionId(self): """Test for duplicate checks on region id """ self.services["region"]["regionname"] = random_gen() #alter region name but not id self.assertRaises(Exception, Region.create, self.api_client, self.services["region"]) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_createRegionWithExistingRegionName(self): """Test for duplicate checks on region name """ @@ -83,7 +83,7 @@ class TestRegions(cloudstackTestCase): self.services["region"]["regionendpoint"] = "http://region" + str(random_int) + ":8080/client" self.assertRaises(Exception, Region.create, self.api_client, self.services["region"]) - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_updateRegion(self): """ Test for update Region """ diff --git a/test/integration/component/test_regions_accounts.py b/test/integration/component/test_regions_accounts.py index a554893468f..28b64dbe5d8 100644 --- a/test/integration/component/test_regions_accounts.py +++ b/test/integration/component/test_regions_accounts.py @@ -61,7 +61,7 @@ class TestRegionsAccounts(cloudstackTestCase): cls.cleanup = [] return - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_createAccountWithUUID(self): """Test for creating account by passing id parameter @@ -101,7 +101,7 @@ class TestRegionsAccounts(cloudstackTestCase): self.cleanup.append(account) return - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_createUserWithUUID(self): """Test for creating User by passing id parameter @@ -152,7 +152,7 @@ class TestRegionsAccounts(cloudstackTestCase): ) return - @attr(tags=["simulator", "basic", "advanced", "selfservice"]) + @attr(tags=["simulator", "basic", "advanced"], required_hardware="false") def test_createdomainWithUUID(self): """Test for creating Domain by passing id parameter diff --git a/test/integration/component/test_resource_limits.py b/test/integration/component/test_resource_limits.py index 9f9cdfa06e2..b4ef4dcc7f3 100644 --- a/test/integration/component/test_resource_limits.py +++ b/test/integration/component/test_resource_limits.py @@ -197,7 +197,7 @@ class TestResourceLimitsAccount(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_vm_per_account(self): """Test VM limit per account """ @@ -290,7 +290,7 @@ class TestResourceLimitsAccount(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_02_publicip_per_account(self): """Test Public IP limit per account """ @@ -434,7 +434,7 @@ class TestResourceLimitsAccount(cloudstackTestCase): return @attr(speed="slow") - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_03_snapshots_per_account(self): """Test Snapshot limit per account """ @@ -593,7 +593,7 @@ class TestResourceLimitsAccount(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_04_volumes_per_account(self): """Test Volumes limit per account """ @@ -735,7 +735,7 @@ class TestResourceLimitsAccount(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_05_templates_per_account(self): """Test Templates limit per account """ @@ -975,7 +975,7 @@ class TestResourceLimitsDomain(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_vm_per_domain(self): """Test VM limit per domain """ @@ -1041,7 +1041,7 @@ class TestResourceLimitsDomain(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_publicip_per_domain(self): """Test Public IP limit per domain """ @@ -1112,7 +1112,7 @@ class TestResourceLimitsDomain(cloudstackTestCase): return @attr(speed="slow") - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_03_snapshots_per_domain(self): """Test Snapshot limit per domain """ @@ -1196,7 +1196,7 @@ class TestResourceLimitsDomain(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_04_volumes_per_domain(self): """Test Volumes limit per domain """ @@ -1249,7 +1249,7 @@ class TestResourceLimitsDomain(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_05_templates_per_domain(self): """Test Templates limit per domain """ diff --git a/test/integration/component/test_routers.py b/test/integration/component/test_routers.py index d729a0779d1..24f44b3a5af 100644 --- a/test/integration/component/test_routers.py +++ b/test/integration/component/test_routers.py @@ -169,7 +169,7 @@ class TestRouterServices(cloudstackTestCase): self.cleanup = [] return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_01_AdvancedZoneRouterServices(self): """Test advanced zone router services """ @@ -320,7 +320,7 @@ class TestRouterServices(cloudstackTestCase): return @attr(configuration = "network.gc") - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_02_NetworkGarbageCollection(self): """Test network garbage collection """ @@ -498,7 +498,7 @@ class TestRouterServices(cloudstackTestCase): self.cleanup.append(self.vm_2) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_03_RouterStartOnVmDeploy(self): """Test router start on VM deploy """ @@ -707,7 +707,7 @@ class TestRouterStopCreatePF(cloudstackTestCase): self.cleanup = [] return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_01_RouterStopCreatePF(self): """Test router stop create port forwarding """ @@ -920,7 +920,7 @@ class TestRouterStopCreateLB(cloudstackTestCase): self.cleanup = [] return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_01_RouterStopCreateLB(self): """Test router stop create Load balancing """ @@ -1134,7 +1134,7 @@ class TestRouterStopCreateFW(cloudstackTestCase): self.cleanup = [] return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_01_RouterStopCreateFW(self): """Test router stop create Firewall rule """ diff --git a/test/integration/component/test_shared_networks.py b/test/integration/component/test_shared_networks.py index ffc3609c624..4d71ed3755c 100644 --- a/test/integration/component/test_shared_networks.py +++ b/test/integration/component/test_shared_networks.py @@ -258,7 +258,7 @@ class TestSharedNetworks(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_sharedNetworkOffering_01(self): """ Test shared network Offering 01 """ @@ -394,7 +394,7 @@ class TestSharedNetworks(cloudstackTestCase): ) self.debug("NetworkOffering created and enabled: %s" % self.shared_network_offering.id) - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_sharedNetworkOffering_02(self): """ Test Shared Network Offering 02 """ @@ -483,7 +483,7 @@ class TestSharedNetworks(cloudstackTestCase): self.debug("Network Offering creation failed with vlan as False in advance mode and shared guest type. Exception: %s" % e) - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_sharedNetworkOffering_03(self): """ Test Shared Network Offering 03 """ @@ -573,7 +573,7 @@ class TestSharedNetworks(cloudstackTestCase): self.debug("Network Offering creation failed with vlan as true and ip ranges as False in advance mode and with shared guest type.\ Exception : %s" % e) - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_createSharedNetwork_All(self): """ Test Shared Network ALL """ @@ -844,7 +844,7 @@ class TestSharedNetworks(cloudstackTestCase): if netaddr.IPAddress(unicode(vms[0].nic[0].ipaddress)) not in ip_range: self.fail("Virtual machine ip should be from the ip range assigned to network created.") - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_createSharedNetwork_accountSpecific(self): """ Test Shared Network with scope account """ @@ -1093,7 +1093,7 @@ class TestSharedNetworks(cloudstackTestCase): if netaddr.IPAddress(unicode(vms[0].nic[0].ipaddress)) not in ip_range: self.fail("Virtual machine ip should be from the ip range assigned to network created.") - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_createSharedNetwork_domainSpecific(self): """ Test Shared Network with scope domain """ @@ -1437,7 +1437,7 @@ class TestSharedNetworks(cloudstackTestCase): if netaddr.IPAddress(unicode(vms[0].nic[0].ipaddress)) not in ip_range: self.fail("Virtual machine ip should be from the ip range assigned to network created.") - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_createSharedNetwork_projectSpecific(self): """ Test Shared Network with scope project """ @@ -1858,7 +1858,7 @@ class TestSharedNetworks(cloudstackTestCase): self.debug("Network creation failed because the valn id being used by another network. Exception: %s" % e) - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_createSharedNetwork_usedVlan2(self): """ Test Shared Network with used vlan 02 """ @@ -2040,7 +2040,7 @@ class TestSharedNetworks(cloudstackTestCase): except Exception as e: self.debug("Network creation failed because the valn id being used by another network. Exception: %s" % e) - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_deployVM_multipleSharedNetwork(self): """ Test Vm deployment with multiple shared networks """ @@ -2290,7 +2290,7 @@ class TestSharedNetworks(cloudstackTestCase): self.assertTrue(self.network1_admin_account_virtual_machine.nic[0].ipaddress is not None, "ip should be assigned to running virtual machine") - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_deployVM_isolatedAndShared(self): """ Test VM deployment in shared and isolated networks """ @@ -2629,7 +2629,7 @@ class TestSharedNetworks(cloudstackTestCase): except Exception as e: self.fail("SSH Access failed for %s: %s" % (self.isolated_network_admin_account_virtual_machine.ipaddress, e)) - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_networkWithsubdomainaccessTrue(self): """ Test Shared Network with subdomainaccess=True """ @@ -2760,7 +2760,7 @@ class TestSharedNetworks(cloudstackTestCase): except: self.debug("Network creation failed because subdomainaccess parameter was passed when scope was account.") - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_networkWithsubdomainaccessFalse(self): """ Test shared Network with subdomainaccess=False """ @@ -2890,7 +2890,7 @@ class TestSharedNetworks(cloudstackTestCase): except: self.debug("Network creation failed because subdomainaccess parameter was passed when scope was account.") - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_escalation_ES1621(self): """ @summary: ES1621:Allow creating shared networks with overlapping diff --git a/test/integration/component/test_snapshot_gc.py b/test/integration/component/test_snapshot_gc.py index d0491cd62bc..064850ea1f7 100644 --- a/test/integration/component/test_snapshot_gc.py +++ b/test/integration/component/test_snapshot_gc.py @@ -217,7 +217,7 @@ class TestAccountSnapshotClean(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg"], required_hardware="true") def test_02_accountSnapshotClean(self): """Test snapshot cleanup after account deletion """ diff --git a/test/integration/component/test_snapshot_limits.py b/test/integration/component/test_snapshot_limits.py index a7da0dbc63b..18a1c658c7a 100644 --- a/test/integration/component/test_snapshot_limits.py +++ b/test/integration/component/test_snapshot_limits.py @@ -199,7 +199,7 @@ class TestSnapshotLimit(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_04_snapshot_limit(self): """Test snapshot limit in snapshot policies """ diff --git a/test/integration/component/test_snapshots.py b/test/integration/component/test_snapshots.py index b601f9a2727..8a5c7ff7c8d 100644 --- a/test/integration/component/test_snapshots.py +++ b/test/integration/component/test_snapshots.py @@ -245,7 +245,7 @@ class TestSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "smoke", "provisioning"]) + @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="true") def test_02_snapshot_data_disk(self): """Test Snapshot Data Disk """ @@ -292,7 +292,7 @@ class TestSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg"], required_hardware="true") def test_01_volume_from_snapshot(self): """Test Creating snapshot from volume having spaces in name(KVM) """ @@ -537,7 +537,7 @@ class TestSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "smoke", "provisioning"]) + @attr(tags=["advanced", "advancedns", "smoke"], required_hardware="true") def test_04_delete_snapshot(self): """Test Delete Snapshot """ @@ -596,7 +596,7 @@ class TestSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"]) + @attr(tags=["advanced", "advancedns", "basic", "sg"], required_hardware="true") def test_03_snapshot_detachedDisk(self): """Test snapshot from detached disk """ @@ -722,7 +722,7 @@ class TestSnapshots(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "smoke", "xen", "provisioning"]) + @attr(tags=["advanced", "advancedns", "smoke", "xen"], required_hardware="true") def test_07_template_from_snapshot(self): """Create Template from snapshot """ @@ -975,7 +975,7 @@ class TestCreateVMSnapshotTemplate(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_01_createVM_snapshotTemplate(self): """Test create VM, Snapshot and Template """ @@ -1186,7 +1186,7 @@ class TestSnapshotEvents(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_05_snapshot_events(self): """Test snapshot events """ diff --git a/test/integration/component/test_snapshots_improvement.py b/test/integration/component/test_snapshots_improvement.py index b2b0a546d52..1646b69e051 100644 --- a/test/integration/component/test_snapshots_improvement.py +++ b/test/integration/component/test_snapshots_improvement.py @@ -185,7 +185,7 @@ class TestSnapshotOnRootVolume(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "provisioning"]) + @attr(tags=["advanced", "basic"], required_hardware="true") def test_01_snapshot_on_rootVolume(self): """Test create VM with default cent os template and create snapshot on root disk of the vm diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py index 74c251b59b7..65b97676674 100644 --- a/test/integration/component/test_stopped_vm.py +++ b/test/integration/component/test_stopped_vm.py @@ -181,7 +181,7 @@ class TestDeployVM(cloudstackTestCase): except Exception as e: self.debug("Warning! Exception in tearDown: %s" % e) - @attr(tags=["advanced", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns"], required_hardware="false") def test_01_deploy_vm_no_startvm(self): """Test Deploy Virtual Machine with no startVM parameter """ @@ -208,7 +208,7 @@ class TestDeployVM(cloudstackTestCase): self.assertEqual(response[0], PASS, response[1]) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_02_deploy_vm_startvm_true(self): """Test Deploy Virtual Machine with startVM=true parameter """ @@ -236,7 +236,7 @@ class TestDeployVM(cloudstackTestCase): self.assertEqual(response[0], PASS, response[1]) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_03_deploy_vm_startvm_false(self): """Test Deploy Virtual Machine with startVM=false parameter """ @@ -278,7 +278,7 @@ class TestDeployVM(cloudstackTestCase): self.virtual_machine.delete(self.apiclient, expunge=True) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_04_deploy_startvm_false_attach_volume(self): """Test Deploy Virtual Machine with startVM=false and attach volume """ @@ -322,7 +322,7 @@ class TestDeployVM(cloudstackTestCase): self.fail("Attach volume failed with Exception: %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_05_deploy_startvm_false_change_so(self): """Test Deploy Virtual Machine with startVM=false and change service offering """ @@ -373,7 +373,7 @@ class TestDeployVM(cloudstackTestCase): return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_06_deploy_startvm_attach_detach(self): """Test Deploy Virtual Machine with startVM=false and attach detach volumes @@ -436,7 +436,7 @@ class TestDeployVM(cloudstackTestCase): ) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_07_deploy_startvm_attach_iso(self): """Test Deploy Virtual Machine with startVM=false and attach ISO """ @@ -505,7 +505,7 @@ class TestDeployVM(cloudstackTestCase): ) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_08_deploy_attached_volume(self): """Test Deploy Virtual Machine with startVM=false and attach volume already attached to different machine """ @@ -613,7 +613,7 @@ class TestDeployVM(cloudstackTestCase): ) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_09_stop_vm_migrate_vol(self): """Test Stopped Virtual Machine's ROOT volume migration """ @@ -790,7 +790,7 @@ class TestDeployHaEnabledVM(cloudstackTestCase): except Exception as e: self.debug("Warning! Exception in tearDown: %s" % e) - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_01_deploy_ha_vm_startvm_false(self): """Test Deploy HA enabled Virtual Machine with startvm=false """ @@ -816,7 +816,7 @@ class TestDeployHaEnabledVM(cloudstackTestCase): self.assertEqual(response[0], PASS, response[1]) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_02_deploy_ha_vm_from_iso(self): """Test Deploy HA enabled Virtual Machine from ISO """ @@ -858,7 +858,7 @@ class TestDeployHaEnabledVM(cloudstackTestCase): self.assertEqual(response[0], PASS, response[1]) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_03_deploy_ha_vm_iso_startvm_false(self): """Test Deploy HA enabled Virtual Machine from ISO with startvm=false """ @@ -951,7 +951,7 @@ class TestRouterStateAfterDeploy(cloudstackTestCase): except Exception as e: self.debug("Warning! Exception in tearDown: %s" % e) - @attr(tags=["advanced", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns"], required_hardware="false") def test_01_deploy_vm_no_startvm(self): """Test Deploy Virtual Machine with no startVM parameter """ @@ -1190,7 +1190,7 @@ class TestDeployVMFromTemplate(cloudstackTestCase): except Exception as e: self.debug("Warning! Exception in tearDown: %s" % e) - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "provisioning"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="true") def test_deploy_vm_password_enabled(self): """Test Deploy Virtual Machine with startVM=false & enabledpassword in template @@ -1284,7 +1284,7 @@ class TestVMAccountLimit(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_vm_per_account(self): """Test VM limit per account """ @@ -1399,7 +1399,7 @@ class TestUploadAttachVolume(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "basic", "sg"], required_hardware="false") def test_upload_attach_volume(self): """Test Upload volume and attach to VM in stopped state """ diff --git a/test/integration/component/test_storage_motion.py b/test/integration/component/test_storage_motion.py index 5b9086bdc32..acbf92df457 100644 --- a/test/integration/component/test_storage_motion.py +++ b/test/integration/component/test_storage_motion.py @@ -149,7 +149,7 @@ class TestStorageMotion(cloudstackTestCase): cleanup_resources(self.apiclient, self.cleanup) return - @attr(tags=["advanced", "basic", "multicluster", "storagemotion", "xenserver", "provisioning"]) + @attr(tags=["advanced", "basic", "multicluster", "storagemotion", "xenserver"], required_hardware="true") def test_01_migrate_vm_with_volume(self): """Test migrate virtual machine with its volumes """ @@ -227,7 +227,7 @@ class TestStorageMotion(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "multipool", "storagemotion", "xenserver", "selfservice"]) + @attr(tags=["advanced", "basic", "multipool", "storagemotion", "xenserver"], required_hardware="false") def test_02_migrate_volume(self): """Test migrate volume of a running vm """ diff --git a/test/integration/component/test_tags.py b/test/integration/component/test_tags.py index fbe64367bf1..1e99ac11192 100644 --- a/test/integration/component/test_tags.py +++ b/test/integration/component/test_tags.py @@ -280,7 +280,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_01_lbrule_tag(self): """ Test Create tag on LB rule and remove the LB rule """ @@ -423,7 +423,7 @@ class TestResourceTags(cloudstackTestCase): self.fail("failed to delete load balancer rule! - %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_02_natrule_tag(self): """ Test Create tag on nat rule and remove the nat rule """ @@ -560,7 +560,7 @@ class TestResourceTags(cloudstackTestCase): self.fail("failed to delete port forwarding rule! - %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_03_firewallrule_tag(self): """ Test Create tag on firewall rule and remove the firewall rule """ @@ -703,7 +703,7 @@ class TestResourceTags(cloudstackTestCase): self.fail("failed to delete firewall rule! - %s" % e) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_04_vpn_tag(self): """ Test Create tag on vpn and remove the vpn """ @@ -855,7 +855,7 @@ class TestResourceTags(cloudstackTestCase): self.fail("failed to disable VPN! - %s" % e) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_05_vm_tag(self): """ Test creation, listing and deletion tags on UserVM """ @@ -932,7 +932,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_06_template_tag(self): """ Test creation, listing and deletion tag on templates """ @@ -1044,7 +1044,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_07_iso_tag(self): """ Test creation, listing and deletion tags on ISO """ @@ -1139,7 +1139,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_08_volume_tag(self): """ Test creation, listing and deletion tagson volume """ @@ -1228,7 +1228,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_09_snapshot_tag(self): """ Test creation, listing and deletion tag son snapshot """ @@ -1330,7 +1330,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_10_network_tag(self): """ Testcreation, listing and deletion tags on guest network """ @@ -1532,7 +1532,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_13_tag_case_insensitive(self): """ Test to verify that tags are not case sensitive """ @@ -1608,7 +1608,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_14_special_char_mutiple_tags(self): """ Test multiple tags and with special characters on same machine """ @@ -1677,7 +1677,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "selfservice"]) + @attr(tags=["advanced"], required_hardware="false") def test_15_project_tag(self): """ Test creation, listing and deletion tags on projects """ @@ -1769,7 +1769,7 @@ class TestResourceTags(cloudstackTestCase): ) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_16_query_tags_other_account(self): """ Test Query the tags from other account """ @@ -1857,7 +1857,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_17_query_tags_admin_account(self): """ Test Query the tags from admin account """ @@ -1934,7 +1934,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "simulator"], required_hardware="false") def test_18_invalid_list_parameters(self): """ Test listAPI with invalid tags parameter """ @@ -1973,7 +1973,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_19_delete_add_same_tag(self): """ Test deletion and addition of same tag on a resource. """ @@ -2079,7 +2079,7 @@ class TestResourceTags(cloudstackTestCase): self.fail("Failed to delete the tag - %s" % e) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_20_create_tags_multiple_resources(self): "Test creation of same tag on multiple resources" @@ -2184,7 +2184,7 @@ class TestResourceTags(cloudstackTestCase): return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_21_create_tag_stopped_vm(self): "Test creation of tag on stopped vm." @@ -2234,7 +2234,7 @@ class TestResourceTags(cloudstackTestCase): self.fail("Exception occured - %s" % e) return - @attr(tags=["advanced", "basic", "selfservice"]) + @attr(tags=["advanced", "basic"], required_hardware="false") def test_22_create_tag_destroyed_vm(self): "Test creation of tag on stopped vm." diff --git a/test/integration/component/test_templates.py b/test/integration/component/test_templates.py index 19852643d66..01f331eb861 100644 --- a/test/integration/component/test_templates.py +++ b/test/integration/component/test_templates.py @@ -162,7 +162,7 @@ class TestCreateTemplate(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns", "provisioning"]) + @attr(tags=["advanced", "advancedns"], required_hardware="true") def test_01_create_template(self): """Test create public & private template """ @@ -387,7 +387,7 @@ class TestTemplates(cloudstackTestCase): return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_01_create_template_volume(self): """Test Create template from volume """ @@ -426,7 +426,7 @@ class TestTemplates(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_03_delete_template(self): """Test Delete template """ @@ -482,7 +482,7 @@ class TestTemplates(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_04_template_from_snapshot(self): """Create Template from snapshot """ diff --git a/test/integration/component/test_update_vm.py b/test/integration/component/test_update_vm.py index 1c5c2362508..ca20a5ad3f8 100644 --- a/test/integration/component/test_update_vm.py +++ b/test/integration/component/test_update_vm.py @@ -83,7 +83,7 @@ class TestUpdateVirtualMachine(cloudstackTestCase): self.account ] - @attr(tags=['advanced', 'simulator', 'basic', 'sg', "selfservice"]) + @attr(tags=['advanced', 'simulator', 'basic', 'sg'], required_hardware="false") def test_update_vm_name(self): """Test Update VirtualMachine Name diff --git a/test/integration/component/test_usage.py b/test/integration/component/test_usage.py index 4cc5183b7e4..e99bb816c29 100644 --- a/test/integration/component/test_usage.py +++ b/test/integration/component/test_usage.py @@ -191,7 +191,7 @@ class TestVmUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_vm_usage(self): """Test Create/Destroy VM and verify usage calculation """ @@ -390,7 +390,7 @@ class TestPublicIPUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_public_ip_usage(self): """Test Assign new IP and verify usage calculation """ @@ -540,7 +540,7 @@ class TestVolumeUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_volume_usage(self): """Test Create/delete a volume and verify correct usage is recorded """ @@ -727,7 +727,7 @@ class TestTemplateUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_01_template_usage(self): """Test Upload/ delete a template and verify correct usage is generated for the template uploaded @@ -873,7 +873,7 @@ class TestISOUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false") def test_01_ISO_usage(self): """Test Create/Delete a ISO and verify its usage is generated correctly """ @@ -1027,7 +1027,7 @@ class TestLBRuleUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_lb_usage(self): """Test Create/Delete a LB rule and verify correct usage is recorded """ @@ -1186,7 +1186,7 @@ class TestSnapshotUsage(cloudstackTestCase): return @attr(speed = "slow") - @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"], required_hardware="false") def test_01_snapshot_usage(self): """Test Create/Delete a manual snap shot and verify correct usage is recorded @@ -1357,7 +1357,7 @@ class TestNatRuleUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "simulator", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator"], required_hardware="false") def test_01_nat_usage(self): """Test Create/Delete a PF rule and verify correct usage is recorded """ @@ -1521,7 +1521,7 @@ class TestVpnUsage(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_01_vpn_usage(self): """Test Create/Delete a VPN and verify correct usage is recorded """ diff --git a/test/integration/component/test_vmware_drs.py b/test/integration/component/test_vmware_drs.py index f33a056a3ae..20d38390bda 100644 --- a/test/integration/component/test_vmware_drs.py +++ b/test/integration/component/test_vmware_drs.py @@ -171,7 +171,7 @@ class TestVMPlacement(cloudstackTestCase): raise Exception("Warning: Exception during cleanup : %s" % e) return - @attr(tags=["advanced", "vmware", "multihost", "provisioning"]) + @attr(tags=["advanced", "vmware", "multihost"], required_hardware="true") def test_vm_creation_in_fully_automated_mode(self): """ Test VM Creation in automation mode = Fully automated This test requires following preconditions: @@ -340,7 +340,7 @@ class TestAntiAffinityRules(cloudstackTestCase): except Exception as e: raise Exception("Error: Creation of Affinity Group failed : %s" %e) - @attr(tags=["advanced", "vmware", "multihost", "provisioning"]) + @attr(tags=["advanced", "vmware", "multihost"], required_hardware="true") def test_vmware_anti_affinity(self): """ Test Set up anti-affinity rules @@ -570,7 +570,7 @@ class TestAffinityRules(cloudstackTestCase): except Exception as e: raise Exception("Error: Creation of Affinity Group failed : %s" %e) - @attr(tags=["advanced", "vmware", "multihost", "provisioning"]) + @attr(tags=["advanced", "vmware", "multihost"], required_hardware="true") def test_vmware_affinity(self): """ Test Set up affinity rules diff --git a/test/integration/component/test_volumes.py b/test/integration/component/test_volumes.py index 22029b1b308..122f2d18d02 100644 --- a/test/integration/component/test_volumes.py +++ b/test/integration/component/test_volumes.py @@ -869,7 +869,7 @@ class TestVolumes(cloudstackTestCase): cleanup_resources(self.apiclient, self.cleanup) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_01_attach_volume(self): """Attach a created Volume to a Running VM """ @@ -952,7 +952,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_02_detach_volume(self): """Detach a Volume attached to a VM """ @@ -999,7 +999,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_03_delete_detached_volume(self): """Delete a Volume unattached to an VM """ @@ -1026,7 +1026,7 @@ class TestVolumes(cloudstackTestCase): ) return - @attr(tags=["advanced", "advancedns", "simulator", "basic", "eip", "sg", "selfservice"]) + @attr(tags=["advanced", "advancedns", "simulator", "basic", "eip", "sg"], required_hardware="false") def test_create_volume_under_domain(self): """Create a volume under a non-root domain as non-root-domain user diff --git a/test/integration/component/test_vpc.py b/test/integration/component/test_vpc.py index e9d396e8b89..13f0eff35d8 100644 --- a/test/integration/component/test_vpc.py +++ b/test/integration/component/test_vpc.py @@ -285,7 +285,7 @@ class TestVPC(cloudstackTestCase): return #list_vpc_apis should be the first case otherwise the vpc counts would be wrong - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_01_list_vpc_apis(self): """ Test list VPC APIs """ @@ -464,7 +464,7 @@ class TestVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_02_restart_vpc_no_networks(self): """ Test restart VPC having no networks """ @@ -495,7 +495,7 @@ class TestVPC(cloudstackTestCase): self.validate_vpc_network(vpc, state='Enabled') return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_03_restart_vpc_with_networks(self): """ Test restart VPC having networks """ @@ -580,7 +580,7 @@ class TestVPC(cloudstackTestCase): self.validate_vpc_network(vpc, state='Enabled') return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_04_delete_vpc_no_networks(self): """ Test delete VPC having no networks """ @@ -620,7 +620,7 @@ class TestVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_05_delete_vpc_with_networks(self): """ Test delete VPC having networks """ @@ -751,7 +751,7 @@ class TestVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_06_list_vpc_apis_admin(self): """ Test list VPC APIs for different user roles """ @@ -811,7 +811,7 @@ class TestVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "multiple", "provisioning"]) + @attr(tags=["advanced", "intervlan", "multiple"], required_hardware="true") def test_07_restart_network_vm_running(self): """ Test Restart VPC when there are multiple networks associated """ @@ -1160,7 +1160,7 @@ class TestVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_08_delete_vpc(self): """ Test vpc deletion after account deletion """ @@ -1526,7 +1526,7 @@ class TestVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_09_vpc_create(self): """ Test to create vpc and verify VPC state, VR and SourceNatIP """ @@ -1587,7 +1587,7 @@ class TestVPC(cloudstackTestCase): "Source Nat IP address was not allocated to VR" ) - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_10_nonoverlaping_cidrs(self): """ Test creation of multiple VPCs with non-overlapping CIDRs """ @@ -1639,7 +1639,7 @@ class TestVPC(cloudstackTestCase): assert("VPC created with overlapping CIDR") return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_11_deploy_vm_wo_network_netdomain(self): """ Test deployment of vm in a VPC without network domain """ @@ -1793,7 +1793,7 @@ class TestVPC(cloudstackTestCase): (vm_domain, expected_netdomain) ) - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_12_deploy_vm_with_netdomain(self): """ Test deployment of vm in a VPC with network domain """ @@ -1848,7 +1848,7 @@ class TestVPC(cloudstackTestCase): networkdomain='test.netdomain' ) - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_13_deploy_vm_with_vpc_netdomain(self): """ Test deployment of vm in a VPC with network domain """ @@ -1913,7 +1913,7 @@ class TestVPC(cloudstackTestCase): self.validate_vm_netdomain(virtual_machine, vpc, network, netdomain) - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_14_deploy_vm_1(self): """ Test vm deploy in network by a user where VPC was created without account/domain ID """ @@ -1989,7 +1989,7 @@ class TestVPC(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_15_deploy_vm_2(self): """ Test deployment of vm in a network in a domain admin account where VPC is created without account/domain ID """ @@ -2070,7 +2070,7 @@ class TestVPC(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_16_deploy_vm_for_user_by_admin(self): """ Test deployment of vm in a network by root admin for user. """ @@ -2147,7 +2147,7 @@ class TestVPC(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_17_deploy_vm_for_user_by_domain_admin(self): """ Test deployment of vm in a network by domain admin for user. """ @@ -2201,7 +2201,7 @@ class TestVPC(cloudstackTestCase): zoneid=self.zone.id, ) - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_18_create_net_for_user_diff_domain_by_doadmin(self): """ Test creation of network by domain admin for user from different domain """ @@ -2278,7 +2278,7 @@ class TestVPC(cloudstackTestCase): vpcid=vpc.id ) - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_19_create_vpc_wo_params(self): """ Test creation of VPC without mandatory parameters """ @@ -2338,7 +2338,7 @@ class TestVPC(cloudstackTestCase): domainid=self.account.domainid ) - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_20_update_vpc_name_display_text(self): """ Test to verify updation of vpc name and display text """ diff --git a/test/integration/component/test_vpc_network.py b/test/integration/component/test_vpc_network.py index c5d9da6f257..b39976524c5 100644 --- a/test/integration/component/test_vpc_network.py +++ b/test/integration/component/test_vpc_network.py @@ -768,7 +768,7 @@ class TestVPCNetwork(cloudstackTestCase): self.debug("Network creation failed") return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_07_create_network_unsupported_services(self): """ Test create network services not supported by VPC (Should fail) """ @@ -835,7 +835,7 @@ class TestVPCNetwork(cloudstackTestCase): self.debug("Network creation failed as VPC doesn't have LB service") return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_08_create_network_without_sourceNAT(self): """ Test create network without sourceNAT service in VPC (should fail) """ @@ -1184,7 +1184,7 @@ class TestVPCNetworkRanges(cloudstackTestCase): "Network creation failed as network cidr range is outside of vpc") return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_02_create_network_outside_range(self): """ Test create network outside cidr range of VPC """ @@ -1643,7 +1643,7 @@ class TestVPCNetworkUpgrade(cloudstackTestCase): self.debug("VPC network validated - %s" % network.name) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_01_network_services_upgrade(self): """ Test update Network that is part of a VPC to a network offering that has more services """ @@ -2003,7 +2003,7 @@ class TestVPCNetworkUpgrade(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_02_network_vpcvr2vr_upgrade(self): """ Test update Network that is NOT part of a VPC to a nw offering that has services that are provided by VPCVR and vice versa """ @@ -2335,7 +2335,7 @@ class TestVPCNetworkGc(cloudstackTestCase): self.debug("VPC network validated - %s" % network.name) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_01_wait_network_gc(self): """ Test network gc after shutdown of vms in the network """ @@ -2361,7 +2361,7 @@ class TestVPCNetworkGc(cloudstackTestCase): self.assertEqual(lbrules, None, "LBrules were not cleared after network GC thread is run") return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_02_start_vm_network_gc(self): """ Test network rules after starting a VpcVr that was shutdown after network.gc """ @@ -2435,7 +2435,7 @@ class TestVPCNetworkGc(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_03_restart_vpcvr(self): """ Test Stop all the Vms that are part of the a Network (Wait for network GC).Restart VPCVR. diff --git a/test/integration/component/test_vpc_network_lbrules.py b/test/integration/component/test_vpc_network_lbrules.py index a5625e72166..88da61d47d3 100644 --- a/test/integration/component/test_vpc_network_lbrules.py +++ b/test/integration/component/test_vpc_network_lbrules.py @@ -506,7 +506,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): return nwacl_internet_1 - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_01_VPC_LBRulesListing(self): """ Test case no 210 and 227: List Load Balancing Rules belonging to a VPC """ @@ -554,7 +554,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_02_VPC_CreateLBRuleInMultipleNetworks(self): """ Test Create LB rules for 1 network which is part of a two/multiple virtual networks of a VPC using a new Public IP Address available with the VPC when the Virtual Router is in Running State @@ -579,7 +579,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_03_VPC_CreateLBRuleInMultipleNetworksVRStoppedState(self): """ Test case no 222 : Create LB rules for a two/multiple virtual networks of a VPC using a new Public IP Address available with the VPC when the Virtual Router is in Stopped State @@ -615,7 +615,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False) return - @attr(tags=["advanced","advancedns", "intervlan", "provisioning"]) + @attr(tags=["advanced","advancedns", "intervlan"], required_hardware="true") def test_04_VPC_CreateLBRuleInMultipleNetworksVRStoppedState(self): """ Test case no 222 : Create LB rules for a two/multiple virtual networks of a VPC using a new Public IP Address available with the VPC when the Virtual Router is in Stopped State @@ -645,7 +645,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_05_VPC_CreateAndDeleteLBRule(self): """ Test case no 214 : Delete few(not all) LB rules for a single virtual network of a VPC belonging to a single Public IP Address when the Virtual Router is in Running State @@ -676,7 +676,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_06_VPC_CreateAndDeleteLBRuleVRStopppedState(self): """ Test Delete few(not all) LB rules for a single virtual network of a VPC belonging to a single Public IP Address when the Virtual Router is in Stopped State @@ -713,7 +713,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_07_VPC_CreateAndDeleteAllLBRule(self): """ Test Delete all LB rules for a single virtual network of a VPC belonging to a single Public IP Address when the Virtual Router is in Running State @@ -746,7 +746,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_08_VPC_CreateAndDeleteAllLBRuleVRStoppedState(self): """ Test Delete all LB rules for a single virtual network of a VPC belonging to a single Public IP Address when the Virtual Router is in Stopped State @@ -779,7 +779,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_09_VPC_LBRuleCreateFailMultipleVPC(self): """ Test User should not be allowed to create a LB rule for a VM that belongs to a different VPC. """ @@ -817,7 +817,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.debug('Failed to Create LB rule vm_3 and vm_4') return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_10_VPC_FailedToCreateLBRuleNonVPCNetwork(self): """ Test User should not be allowed to create a LB rule for a VM that does not belong to any VPC. """ @@ -854,7 +854,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.debug('Failed to Create LB rule vm_3 and vm_4 in network2') return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_11_VPC_LBRuleCreateNotAllowed(self): """ Test case no 217 and 236: User should not be allowed to create a LB rule for a VM that does not belong to the same network but belongs to the same VPC. @@ -892,7 +892,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.debug('Failed to Create LB rule vm_3 and vm_1') return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_12_VPC_LBRuleCreateFailForRouterIP(self): """ Test User should not be allowed to create a LB rule on an Ipaddress that Source Nat enabled. """ @@ -920,7 +920,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.debug('Failed to Create LB rule vm_2 and vm_1') return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_13_VPC_LBRuleCreateFailForPFSourceNATIP(self): """ Test User should not be allowed to create a LB rule on an Ipaddress that already has a PF rule. """ @@ -950,7 +950,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.debug('Failed to Create LB rule vm_2 and vm_1') return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_14_VPC_LBRuleCreateFailForStaticNatRule(self): """ Test User should not be allowed to create a LB rule on an Ipaddress that already has a Static Nat rule. """ @@ -979,7 +979,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase): self.debug('Failed to Create LB rule vm_2 and vm_1') return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_15_VPC_ReleaseIPForLBRuleCreated(self): """ Test release Ip address that has a LB rule assigned to it. """ diff --git a/test/integration/component/test_vpc_network_pfrules.py b/test/integration/component/test_vpc_network_pfrules.py index 31e73202677..c3a81614c18 100644 --- a/test/integration/component/test_vpc_network_pfrules.py +++ b/test/integration/component/test_vpc_network_pfrules.py @@ -483,7 +483,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): return nwacl_internet_1 - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_01_network_services_VPC_StopCreatePF(self): """ Test : Create VPC PF rules on acquired public ip when VpcVirtualRouter is stopped """ @@ -514,7 +514,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_02_network_services_VPC_CreatePF(self): """ Test Create VPC PF rules on acquired public ip when VpcVirtualRouter is Running """ @@ -534,7 +534,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_03_network_services_VPC_StopCreateMultiplePF(self): """ Test Create multiple VPC PF rules on acquired public ip in diff't networks when VpcVirtualRouter is stopped """ @@ -570,7 +570,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_04_network_services_VPC_CreateMultiplePF(self): """ Test Create multiple VPC PF rules on acquired public ip in diff't networks when VpcVirtualRouter is running """ @@ -598,7 +598,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_05_network_services_VPC_StopDeletePF(self): """ Test delete a PF rule in VPC when VpcVirtualRouter is Stopped """ @@ -629,7 +629,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_06_network_services_VPC_DeletePF(self): """ Test delete a PF rule in VPC when VpcVirtualRouter is Running """ @@ -656,7 +656,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_07_network_services_VPC_StopDeleteAllPF(self): """ Test delete all PF rules in VPC when VpcVirtualRouter is Stopped """ @@ -690,7 +690,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_08_network_services_VPC_DeleteAllPF(self): """ Test delete all PF rules in VPC when VpcVirtualRouter is Running """ @@ -720,7 +720,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_09_network_services_VPC_StopDeleteAllMultiplePF(self): """ Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Stopped """ @@ -787,7 +787,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_wget_from_vm(vm_4, public_ip_4, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_10_network_services_VPC_DeleteAllMultiplePF(self): """ Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Running """ diff --git a/test/integration/component/test_vpc_network_staticnatrule.py b/test/integration/component/test_vpc_network_staticnatrule.py index 65cb044c9a9..d75044bae28 100644 --- a/test/integration/component/test_vpc_network_staticnatrule.py +++ b/test/integration/component/test_vpc_network_staticnatrule.py @@ -494,7 +494,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): return nwacl_nat - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_01_VPC_StaticNatRuleCreateStoppedState(self): """ Test case no extra : """ @@ -522,7 +522,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_02_VPC_CreateStaticNatRule(self): """ Test case no 229 : Create Static NAT Rule for a single virtual network of a VPC using a new Public IP Address available with the VPC when the Virtual Router is in Running State @@ -545,7 +545,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_03_VPC_StopCreateMultipleStaticNatRuleStopppedState(self): """ Test case no extra : Create Static Nat Rule rules for a two/multiple virtual networks of a VPC using a new Public IP Address available with the VPC when Virtual Router is in Stopped State @@ -585,7 +585,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_04_VPC_CreateMultipleStaticNatRule(self): """ Test case no 230 : Create Static NAT Rules for a two/multiple virtual networks of a VPC using a new Public IP Address available with the VPC when the Virtual Router is in Running State @@ -618,7 +618,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_05_network_services_VPC_DeleteAllPF(self): """ Test case no 232: Delete all Static NAT Rules for a single virtual network of a VPC belonging to a single Public IP Address when the Virtual Router is in Running State @@ -650,7 +650,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase): self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_06_network_services_VPC_DeleteAllMultiplePF(self): """ Test case no 233: Delete all Static NAT rules for two/multiple virtual networks of a VPC. Observe the status of the Public IP Addresses of the rules when the Virtual Router is in Running State. diff --git a/test/integration/component/test_vpc_offerings.py b/test/integration/component/test_vpc_offerings.py index f190773aab6..e62aeb5db10 100644 --- a/test/integration/component/test_vpc_offerings.py +++ b/test/integration/component/test_vpc_offerings.py @@ -234,7 +234,7 @@ class TestVPCOffering(cloudstackTestCase): self.debug("VPC network created successfully - %s" % network.name) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_01_create_vpc_offering(self): """ Test create VPC offering """ @@ -254,7 +254,7 @@ class TestVPCOffering(cloudstackTestCase): self.validate_vpc_offering(vpc_off) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_02_deploy_vms_in_vpc_nw(self): """Test deploy virtual machines in VPC networks""" @@ -456,7 +456,7 @@ class TestVPCOffering(cloudstackTestCase): # TODO: Remote Access VPN is not yet supported in VPC return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_03_vpc_off_without_lb(self): """Test VPC offering without load balancing service""" @@ -577,7 +577,7 @@ class TestVPCOffering(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_04_vpc_off_without_static_nat(self): """Test VPC offering without static NAT service""" @@ -696,7 +696,7 @@ class TestVPCOffering(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_05_vpc_off_without_pf(self): """Test VPC offering without port forwarding service""" @@ -814,7 +814,7 @@ class TestVPCOffering(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_06_vpc_off_invalid_services(self): """Test VPC offering with invalid services""" @@ -846,7 +846,7 @@ class TestVPCOffering(cloudstackTestCase): self.fail("Failed to create the VPC offering - %s" % e) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_07_update_vpc_off(self): """Test update VPC offering""" @@ -935,7 +935,7 @@ class TestVPCOffering(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_08_list_vpc_off(self): """Test list VPC offering""" diff --git a/test/integration/component/test_vpc_routers.py b/test/integration/component/test_vpc_routers.py index 3cf537ae0b6..5d3aae955e0 100644 --- a/test/integration/component/test_vpc_routers.py +++ b/test/integration/component/test_vpc_routers.py @@ -342,7 +342,7 @@ class TestVPCRoutersBasic(cloudstackTestCase): " still %s" % (host.id, router.hostid)) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_01_stop_start_router_after_creating_vpc(self): """ Test to stop and start router after creation of VPC """ @@ -420,7 +420,7 @@ class TestVPCRoutersBasic(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_02_reboot_router_after_creating_vpc(self): """ Test to reboot the router after creating a VPC """ @@ -469,7 +469,7 @@ class TestVPCRoutersBasic(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_03_migrate_router_after_creating_vpc(self): """ Test migration of router to another host after creating VPC """ @@ -490,7 +490,7 @@ class TestVPCRoutersBasic(cloudstackTestCase): self.migrate_router(routers[0]) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_04_change_service_offerring_vpc(self): """ Tests to change service offering of the Router after creating a vpc @@ -551,7 +551,7 @@ class TestVPCRoutersBasic(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_05_destroy_router_after_creating_vpc(self): """ Test to destroy the router after creating a VPC """ @@ -1073,7 +1073,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase): return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_02_reboot_router_after_addition_of_one_guest_network(self): """ Test reboot of router after addition of one guest network """ @@ -1140,7 +1140,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "provisioning"]) + @attr(tags=["advanced", "intervlan"], required_hardware="true") def test_03_migrate_router_after_addition_of_one_guest_network(self): """ Test migrate of router after addition of one guest network """ @@ -1183,7 +1183,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase): self.migrate_router(routers[0]) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_04_chg_srv_off_router_after_addition_of_one_guest_network(self): """ Test to change service offering of router after addition of one guest network """ @@ -1261,7 +1261,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_05_destroy_router_after_addition_of_one_guest_network(self): """ Test destroy of router after addition of one guest network """ diff --git a/test/integration/component/test_vpc_vms_deployment.py b/test/integration/component/test_vpc_vms_deployment.py index edc13ace5d5..54586d03755 100644 --- a/test/integration/component/test_vpc_vms_deployment.py +++ b/test/integration/component/test_vpc_vms_deployment.py @@ -356,7 +356,7 @@ class TestVMDeployVPC(cloudstackTestCase): nat_rule.delete(self.apiclient) return vm - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_01_deploy_vms_in_network(self): """ Test deploy VMs in VPC networks """ @@ -570,7 +570,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_02_deploy_vms_delete_network(self): """ Test deploy VMs in VPC networks and delete one of the network """ @@ -822,7 +822,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_03_deploy_vms_delete_add_network(self): """ Test deploy VMs, delete one of the network and add another one """ @@ -1091,7 +1091,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_04_deploy_vms_delete_add_network_noLb(self): """ Test deploy VMs, delete one network without LB and add another one """ @@ -1385,7 +1385,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_05_create_network_max_limit(self): """ Test create networks in VPC upto maximum limit for hypervisor """ @@ -1556,7 +1556,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_06_delete_network_vm_running(self): """ Test delete network having running instances in VPC """ @@ -1798,7 +1798,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_07_delete_network_with_rules(self): """ Test delete network that has PF/staticNat/LB rules/Network Acl """ @@ -2372,7 +2372,7 @@ class TestVMDeployVPC(cloudstackTestCase): ) return - @attr(tags=["advanced", "intervlan", "selfservice"]) + @attr(tags=["advanced", "intervlan"], required_hardware="false") def test_08_ip_reallocation_CS5986(self): """ @Desc: Test to verify dnsmasq dhcp conflict issue due to /ect/hosts not getting udpated diff --git a/test/integration/component/test_vpn_users.py b/test/integration/component/test_vpn_users.py index c8b3a2dbac3..72e10a4d6e6 100644 --- a/test/integration/component/test_vpn_users.py +++ b/test/integration/component/test_vpn_users.py @@ -259,7 +259,7 @@ class TestVPNUsers(cloudstackTestCase): self.debug("Limit exceeded exception raised!") return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_02_use_vpn_port(self): """Test create VPN when L2TP port in use""" @@ -290,7 +290,7 @@ class TestVPNUsers(cloudstackTestCase): self.debug("Create VPN connection failed! Test successful!") return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_03_enable_vpn_use_port(self): """Test create NAT rule when VPN when L2TP enabled""" @@ -316,7 +316,7 @@ class TestVPNUsers(cloudstackTestCase): self.debug("Create NAT rule failed! Test successful!") return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_04_add_new_users(self): """Test add new users to existing VPN""" @@ -344,7 +344,7 @@ class TestVPNUsers(cloudstackTestCase): self.fail("Failed to create new VPN user: %s" % e) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_05_add_duplicate_user(self): """Test add duplicate user to existing VPN""" @@ -367,7 +367,7 @@ class TestVPNUsers(cloudstackTestCase): self.create_VPN_Users(rand_name=False) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_06_add_VPN_user_global_admin(self): """Test as global admin, add a new VPN user to an existing VPN entry that was created by another account.""" @@ -410,7 +410,7 @@ class TestVPNUsers(cloudstackTestCase): e) return - @attr(tags=["advanced", "advancedns", "selfservice"]) + @attr(tags=["advanced", "advancedns"], required_hardware="false") def test_07_add_VPN_user_domain_admin(self): """Test as domain admin, add a new VPN user to an existing VPN entry that was created by another account."""