You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ta...@apache.org on 2014/03/28 11:07:04 UTC

[3/3] git commit: updated refs/heads/master to 91a5e3b

CLOUDSTACK-6125: adding 'selfservice','provisioning' tags to segregate the tests
that can be run on simulator only and that needs hardware.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/91a5e3bb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/91a5e3bb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/91a5e3bb

Branch: refs/heads/master
Commit: 91a5e3bb6634f9f0b98e7021fc55e680c6eba45f
Parents: d858646
Author: SrikanteswaraRao Talluri <ta...@apache.org>
Authored: Fri Mar 28 15:34:57 2014 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Fri Mar 28 15:34:57 2014 +0530

----------------------------------------------------------------------
 test/integration/component/test_accounts.py     | 16 ++--
 .../component/test_affinity_groups.py           | 82 ++++++++++----------
 .../component/test_allocation_states.py         | 12 +--
 .../component/test_base_image_updation.py       |  8 +-
 test/integration/component/test_blocker_bugs.py | 14 ++--
 .../component/test_cpu_domain_limits.py         | 10 +--
 test/integration/component/test_cpu_limits.py   | 14 ++--
 .../component/test_cpu_max_limits.py            |  8 +-
 .../component/test_cpu_project_limits.py        |  6 +-
 .../component/test_custom_hostname.py           | 12 +--
 .../component/test_deploy_vm_userdata_reg.py    |  2 +-
 .../component/test_egress_fw_rules.py           | 52 ++++++-------
 .../component/test_explicit_dedication.py       |  2 +-
 test/integration/component/test_haproxy.py      | 10 +--
 .../component/test_implicit_planner.py          |  2 +-
 .../component/test_ip_reservation.py            |  8 +-
 test/integration/component/test_ldap.py         |  2 +-
 .../integration/component/test_memory_limits.py | 14 ++--
 .../component/test_mm_domain_limits.py          | 10 +--
 .../integration/component/test_mm_max_limits.py |  8 +-
 .../component/test_mm_project_limits.py         |  6 +-
 .../component/test_netscaler_configs.py         |  8 +-
 .../component/test_netscaler_nw_off.py          |  4 +-
 .../component/test_network_offering.py          | 10 +--
 .../component/test_persistent_networks.py       |  4 +-
 test/integration/component/test_portable_ip.py  | 36 ++++-----
 .../component/test_project_configs.py           |  6 +-
 .../component/test_project_limits.py            | 14 ++--
 .../component/test_project_resources.py         | 14 ++--
 .../integration/component/test_project_usage.py | 18 ++---
 test/integration/component/test_projects.py     | 20 ++---
 .../component/test_recurring_snapshots.py       |  4 +-
 .../component/test_redundant_router_cleanups.py |  6 +-
 .../component/test_redundant_router_services.py |  2 +-
 .../component/test_redundant_router_upgrades.py |  4 +-
 test/integration/component/test_regions.py      |  6 +-
 .../component/test_regions_accounts.py          |  6 +-
 .../component/test_resource_limits.py           | 20 ++---
 test/integration/component/test_routers.py      | 12 +--
 .../component/test_shared_networks.py           | 26 +++----
 test/integration/component/test_snapshot_gc.py  |  2 +-
 .../component/test_snapshot_limits.py           |  2 +-
 test/integration/component/test_snapshots.py    | 14 ++--
 .../component/test_snapshots_improvement.py     |  2 +-
 test/integration/component/test_stopped_vm.py   | 32 ++++----
 .../component/test_storage_motion.py            |  4 +-
 test/integration/component/test_tags.py         | 40 +++++-----
 test/integration/component/test_templates.py    |  8 +-
 test/integration/component/test_update_vm.py    |  2 +-
 test/integration/component/test_usage.py        | 18 ++---
 test/integration/component/test_vmware_drs.py   |  6 +-
 test/integration/component/test_volumes.py      |  8 +-
 test/integration/component/test_vpc.py          | 40 +++++-----
 test/integration/component/test_vpc_network.py  | 18 ++---
 .../component/test_vpc_network_lbrules.py       | 30 +++----
 .../component/test_vpc_network_pfrules.py       | 20 ++---
 .../component/test_vpc_network_staticnatrule.py | 12 +--
 .../integration/component/test_vpc_offerings.py | 16 ++--
 test/integration/component/test_vpc_routers.py  | 20 ++---
 .../component/test_vpc_vms_deployment.py        | 14 ++--
 test/integration/component/test_vpn_users.py    | 12 +--
 61 files changed, 419 insertions(+), 419 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_accounts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_accounts.py b/test/integration/component/test_accounts.py
index 650a595..bee17fb 100644
--- a/test/integration/component/test_accounts.py
+++ b/test/integration/component/test_accounts.py
@@ -148,7 +148,7 @@ class TestAccounts(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"])
     def test_01_create_account(self):
         """Test Create Account and user for that account
         """
@@ -286,7 +286,7 @@ class TestRemoveUserFromAccount(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"])
     def test_01_user_remove_VM_running(self):
         """Test Remove one user from the account
         """
@@ -440,7 +440,7 @@ class TestNonRootAdminsPrivileges(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"])
     def test_01_non_root_admin_Privileges(self):
         """Test to verify Non Root admin previleges"""
 
@@ -561,7 +561,7 @@ class TestServiceOfferingSiblings(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"])
     def test_01_service_offering_siblings(self):
         """Test to verify service offerings at same level in hierarchy"""
 
@@ -679,7 +679,7 @@ class TestServiceOfferingHierarchy(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"])
     def test_01_service_offering_hierarchy(self):
         """Test to verify service offerings at same level in hierarchy"""
 
@@ -976,7 +976,7 @@ class TestAddVmToSubDomain(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+    @attr(tags=["advanced", "basic", "eip", "advancedns", "sg", "selfservice"])
     def test_01_add_vm_to_subdomain(self):
         """ Test Sub domain allowed to launch VM  when a Domain level zone is created"""
 
@@ -1533,7 +1533,7 @@ class TestDomainForceRemove(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["domains", "advanced", "advancedns", "simulator"])
+    @attr(tags=["domains", "advanced", "advancedns", "simulator", "selfservice"])
     def test_forceDeleteDomain(self):
         """ Test delete domain with force option"""
 
@@ -1698,7 +1698,7 @@ class TestDomainForceRemove(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["domains", "advanced", "advancedns", "simulator"])
+    @attr(tags=["domains", "advanced", "advancedns", "simulator", "selfservice"])
     def test_DeleteDomain(self):
         """ Test delete domain without force option"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_affinity_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_affinity_groups.py b/test/integration/component/test_affinity_groups.py
index 7e4fabe..8808034 100644
--- a/test/integration/component/test_affinity_groups.py
+++ b/test/integration/component/test_affinity_groups.py
@@ -169,7 +169,7 @@ class TestCreateAffinityGroup(cloudstackTestCase):
         except Exception as e:
             raise Exception("Error: Creation of Affinity Group failed : %s" %e)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_01_admin_create_aff_grp(self):
         """
         Test create affinity group as admin
@@ -184,7 +184,7 @@ class TestCreateAffinityGroup(cloudstackTestCase):
         self.assert_(list_aff_grps[0].id == aff_grp.id)
         self.cleanup.append(aff_grp)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_02_doadmin_create_aff_grp(self):
         """
         Test create affinity group as domain admin
@@ -204,7 +204,7 @@ class TestCreateAffinityGroup(cloudstackTestCase):
         aff_grp.delete(domainapiclient)
 
     #@attr(tags=["simulator", "basic", "advanced"])
-    @attr(tags=["vogxn", "simulator", "basic", "advanced"])
+    @attr(tags=["vogxn", "simulator", "basic", "advanced", "selfservice"])
     def test_03_user_create_aff_grp(self):
         """
         Test create affinity group as user
@@ -222,7 +222,7 @@ class TestCreateAffinityGroup(cloudstackTestCase):
         aff_grp.delete(userapiclient)
 
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_04_user_create_aff_grp_existing_name(self):
         """
         Test create affinity group that exists (same name)
@@ -243,7 +243,7 @@ class TestCreateAffinityGroup(cloudstackTestCase):
         self.debug("Deleted Affinity Group: %s" %aff_grp.name)
         aff_grp.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_05_create_aff_grp_same_name_diff_acc(self):
         """
         Test create affinity group with existing name but within different account
@@ -265,7 +265,7 @@ class TestCreateAffinityGroup(cloudstackTestCase):
         self.debug("Deleted Affinity Group: %s" %aff_grp.name)
         aff_grp.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_06_create_aff_grp_nonexisting_type(self):
         """
         Test create affinity group of non-existing type
@@ -391,7 +391,7 @@ class TestListAffinityGroups(cloudstackTestCase):
                          msg="VM is not in Running state")
         return vm, vm_response.hostid
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_01_list_aff_grps_for_vm(self):
         """
            List affinity group for a vm
@@ -413,7 +413,7 @@ class TestListAffinityGroups(cloudstackTestCase):
 
         self.aff_grp[0].delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_02_list_multiple_aff_grps_for_vm(self):
         """
            List multiple affinity groups associated with a vm
@@ -442,7 +442,7 @@ class TestListAffinityGroups(cloudstackTestCase):
         aff_grp_01.delete(self.api_client)
         aff_grp_02.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_03_list_aff_grps_by_id(self):
         """
            List affinity groups by id
@@ -457,7 +457,7 @@ class TestListAffinityGroups(cloudstackTestCase):
 
         self.aff_grp[0].delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_04_list_aff_grps_by_name(self):
         """
             List Affinity Groups by name
@@ -471,7 +471,7 @@ class TestListAffinityGroups(cloudstackTestCase):
 
         self.aff_grp[0].delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_05_list_aff_grps_by_non_existing_id(self):
         """
             List Affinity Groups by non-existing id
@@ -485,7 +485,7 @@ class TestListAffinityGroups(cloudstackTestCase):
 
         self.aff_grp[0].delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_06_list_aff_grps_by_non_existing_name(self):
         """
             List Affinity Groups by non-existing name
@@ -499,7 +499,7 @@ class TestListAffinityGroups(cloudstackTestCase):
 
         self.aff_grp[0].delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_07_list_all_vms_in_aff_grp(self):
         """
            List affinity group should list all for a vms associated with that group
@@ -642,7 +642,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase):
         [setattr(cmd, k, v) for k, v in kwargs.items()]
         return apiclient.deleteAffinityGroup(cmd)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_01_delete_aff_grp_by_name(self):
         """
             Delete Affinity Group by name
@@ -653,7 +653,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_02_delete_aff_grp_for_acc(self):
         """
             Delete Affinity Group as admin for an account
@@ -669,7 +669,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_03_delete_aff_grp_with_vms(self):
         """
             Delete Affinity Group which has vms in it
@@ -687,7 +687,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_05_delete_aff_grp_id(self):
         """
             Delete Affinity Group with id which does not belong to this user
@@ -723,7 +723,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase):
         aff_0.delete(self.api_client)
         aff_1.delete(userapiclient)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_06_delete_aff_grp_name(self):
         """
             Delete Affinity Group by name which does not belong to this user
@@ -759,7 +759,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase):
         aff_0.delete(self.api_client)
         aff_1.delete(userapiclient)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_08_delete_aff_grp_by_id(self):
         """
             Delete Affinity Group by id.
@@ -771,7 +771,7 @@ class TestDeleteAffinityGroups(cloudstackTestCase):
         aff_grp_1.delete(self.api_client)
         aff_grp_2.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_09_delete_aff_grp_root_admin(self):
         """
             Root admin should be able to delete affinity group of other users
@@ -909,7 +909,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase):
 
         return vm, vm_response.hostid
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_01_update_aff_grp_by_ids(self):
         """
             Update the list of affinityGroups by using affinity groupids
@@ -957,7 +957,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase):
         for aff_grp in self.aff_grp:
             aff_grp.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_02_update_aff_grp_by_names(self):
         """
             Update the list of affinityGroups by using affinity groupnames
@@ -1000,7 +1000,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase):
         for aff_grp in self.aff_grp:
             aff_grp.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_03_update_aff_grp_for_vm_with_no_aff_grp(self):
         """
             Update the list of affinityGroups for vm which is not associated
@@ -1033,7 +1033,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase):
             aff_grp.delete(self.api_client)
 
     @unittest.skip("Skip - Failing - work in progress")
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "NotRun"])
     def test_04_update_aff_grp_remove_all(self):
         """
             Update the list of Affinity Groups to empty list
@@ -1059,7 +1059,7 @@ class TestUpdateVMAffinityGroups(cloudstackTestCase):
         for aff_grp in aff_grps:
             aff_grp.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_05_update_aff_grp_on_running_vm(self):
         """
             Update the list of Affinity Groups on running vm
@@ -1195,7 +1195,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
 
         return vm, vm_response.hostid
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_01_deploy_vm_without_aff_grp(self):
         """
             Deploy VM without affinity group
@@ -1206,7 +1206,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_02_deploy_vm_by_aff_grp_name(self):
         """
             Deploy VM by aff grp name
@@ -1218,7 +1218,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_03_deploy_vm_by_aff_grp_id(self):
         """
             Deploy VM by aff grp id
@@ -1234,7 +1234,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_04_deploy_vm_anti_affinity_group(self):
         """
         test DeployVM in anti-affinity groups
@@ -1255,7 +1255,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_05_deploy_vm_by_id(self):
         """
             Deploy vms by affinity group id
@@ -1277,7 +1277,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_06_deploy_vm_aff_grp_of_other_user_by_name(self):
         """
             Deploy vm in affinity group of another user by name
@@ -1310,7 +1310,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
         self.aff_grp[0].delete(self.api_client)
         self.aff_grp[1].delete(userapiclient)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_07_deploy_vm_aff_grp_of_other_user_by_id(self):
         """
             Deploy vm in affinity group of another user by id
@@ -1346,7 +1346,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
         self.aff_grp[0].delete(self.api_client)
         self.aff_grp[1].delete(userapiclient)
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_08_deploy_vm_multiple_aff_grps(self):
         """
             Deploy vm in multiple affinity groups
@@ -1375,7 +1375,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_09_deploy_vm_multiple_aff_grps(self):
         """
             Deploy multiple vms in multiple affinity groups
@@ -1410,7 +1410,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"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_10_deploy_vm_by_aff_grp_name_and_id(self):
         """
             Deploy VM by aff grp name and id
@@ -1540,7 +1540,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase):
 
         return vm, vm_response.hostid
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_01_deploy_vm_another_user(self):
         """
             Deploy vm as Admin in Affinity Group belonging to regular user (should fail)
@@ -1578,7 +1578,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase):
         aff_grp.delete(self.apiclient)
 
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_03_list_aff_grp_all_users(self):
         """
             List Affinity Groups as admin for all the users
@@ -1601,7 +1601,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase):
                          "Groups of users")
         aff_grp.delete(userapiclient)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_04_list_all_admin_aff_grp(self):
         """
             List Affinity Groups belonging to admin user
@@ -1628,7 +1628,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase):
         aff_grp1.delete(self.api_client)
         aff_grp2.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_05_list_all_users_aff_grp(self):
         """
             List Affinity Groups belonging to regular user passing account id and domain id
@@ -1664,7 +1664,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase):
         aff_grp1.delete(self.api_client)
         aff_grp2.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_06_list_all_users_aff_grp_by_id(self):
         """
             List Affinity Groups belonging to regular user passing group id
@@ -1696,7 +1696,7 @@ class TestAffinityGroupsAdminUser(cloudstackTestCase):
 
         aff_grp.delete(self.api_client)
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_07_delete_aff_grp_of_other_user(self):
         """
             Delete Affinity Group belonging to regular user

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_allocation_states.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_allocation_states.py b/test/integration/component/test_allocation_states.py
index 5ce0b21..1c0bce5 100644
--- a/test/integration/component/test_allocation_states.py
+++ b/test/integration/component/test_allocation_states.py
@@ -120,7 +120,7 @@ class TestAllocationState(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_zones(self):
         """Check the status of zones"""
 
@@ -146,7 +146,7 @@ class TestAllocationState(cloudstackTestCase):
                              )
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_02_pods(self):
         """Check the status of pods"""
 
@@ -172,7 +172,7 @@ class TestAllocationState(cloudstackTestCase):
                              )
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_03_clusters(self):
         """Check the status of clusters"""
 
@@ -198,7 +198,7 @@ class TestAllocationState(cloudstackTestCase):
                              )
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_04_hosts(self):
         """Check the status of hosts"""
 
@@ -225,7 +225,7 @@ class TestAllocationState(cloudstackTestCase):
                              )
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_05_storage_pools(self):
         """Check the status of Storage pools"""
 
@@ -251,7 +251,7 @@ class TestAllocationState(cloudstackTestCase):
                              )
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_06_secondary_storage(self):
         """Check the status of secondary storage"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_base_image_updation.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_base_image_updation.py b/test/integration/component/test_base_image_updation.py
index e31aacf..ac3ac8e 100644
--- a/test/integration/component/test_base_image_updation.py
+++ b/test/integration/component/test_base_image_updation.py
@@ -291,7 +291,7 @@ class TestBaseImageUpdate(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_01_deploy_instance_with_is_volatile_offering(self):
         """ Test deploy an instance with service offerings with IsVolatile set.
         """
@@ -322,7 +322,7 @@ class TestBaseImageUpdate(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_02_reboot_instance_with_is_volatile_offering(self):
         """ Test rebooting instances created with isVolatile service offerings
         """
@@ -400,7 +400,7 @@ class TestBaseImageUpdate(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_03_restore_vm_with_new_template(self):
         """ Test restoring a vm with different template than the one it was created with
         """
@@ -515,7 +515,7 @@ class TestBaseImageUpdate(cloudstackTestCase):
                                 )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_04_reoccuring_snapshot_rules(self):
         """
         1) Create a VM using the Service offering IsVolatile enabled

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_blocker_bugs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_blocker_bugs.py b/test/integration/component/test_blocker_bugs.py
index 04a2656..98bed92 100644
--- a/test/integration/component/test_blocker_bugs.py
+++ b/test/integration/component/test_blocker_bugs.py
@@ -149,7 +149,7 @@ class TestTemplate(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"])
     def test_01_create_template(self):
         """TS_BUG_002-Test to create and deploy VM using password enabled template
         """
@@ -308,7 +308,7 @@ class TestNATRules(cloudstackTestCase):
         except Exception as e:
             raise Exception("Warning: Exception during cleanup : %s" % e)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_01_firewall_rules_port_fw(self):
         """"Checking firewall rules deletion after static NAT disable"""
 
@@ -515,7 +515,7 @@ class TestRouters(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_01_list_routers_admin(self):
         """TS_BUG_007-Check listRouters() using Admin User
         """
@@ -630,7 +630,7 @@ class TestRouterRestart(cloudstackTestCase):
         # No need
         return
 
-    @attr(tags = ["advanced", "advancedns", "eip"])
+    @attr(tags=["advanced", "advancedns", "eip", "selfservice"])
     def test_01_restart_network_cleanup(self):
         """TS_BUG_008-Test restart network
         """
@@ -793,7 +793,7 @@ class TestTemplates(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "eip", "provisioning"])
     def test_01_check_template_size(self):
         """TS_BUG_009-Test the size of template created from root disk
         """
@@ -821,7 +821,7 @@ class TestTemplates(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "eip", "provisioning"])
     def test_02_check_size_snapshotTemplate(self):
         """TS_BUG_010-Test check size of snapshot and template
         """
@@ -902,7 +902,7 @@ class TestTemplates(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "eip", "provisioning"])
     def test_03_reuse_template_name(self):
         """TS_BUG_011-Test Reusing deleted template name
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_cpu_domain_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_cpu_domain_limits.py b/test/integration/component/test_cpu_domain_limits.py
index 1247a79..c0bd9e7 100644
--- a/test/integration/component/test_cpu_domain_limits.py
+++ b/test/integration/component/test_cpu_domain_limits.py
@@ -217,7 +217,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase):
         )
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_multiple_core_vm_start_stop_instance(self):
         """Test Deploy VM with 4 core CPU & verify the usage"""
 
@@ -290,7 +290,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase):
                 "Resource count should be same as before, after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_multiple_core_vm_migrate_instance(self):
         """Test Deploy VM with 4 core CPU & verify the usage"""
 
@@ -351,7 +351,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase):
                 "Resource count should be same as before, after migrating the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_multiple_core_vm_delete_instance(self):
         """Test Deploy VM with 4 core CPU & verify the usage"""
 
@@ -408,7 +408,7 @@ class TestDomainCPULimitsUpdateResources(cloudstackTestCase):
                 "Resource count for %s should be 0" % get_resource_type(resource_id=8))#CPU
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_04_deploy_multiple_vm_with_multiple_core(self):
         """Test Deploy multiple VM with 4 core CPU & verify the usage"""
 
@@ -662,7 +662,7 @@ class TestMultipleChildDomains(cloudstackTestCase):
         }
         return users
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_multiple_child_domains(self):
         """Test CPU limits with multiple child domains"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_cpu_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_cpu_limits.py b/test/integration/component/test_cpu_limits.py
index f043773..9868bf2 100644
--- a/test/integration/component/test_cpu_limits.py
+++ b/test/integration/component/test_cpu_limits.py
@@ -176,7 +176,7 @@ class TestCPULimits(cloudstackTestCase):
         except Exception as e:
             self.fail("Failed to deploy an instance: %s" % e)
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_multiplecore_start_stop_instance(self):
         """Test Deploy VM with multiple core CPU & verify the usage"""
 
@@ -231,7 +231,7 @@ class TestCPULimits(cloudstackTestCase):
                          "Resource count should be same after stopping the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_multiplecore_migrate_instance(self):
         """Test Deploy VM with multiple core CPU & verify the usage"""
 
@@ -272,7 +272,7 @@ class TestCPULimits(cloudstackTestCase):
                          "Resource count should be same after migrating the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_multiplecore_delete_instance(self):
         """Test Deploy VM with multiple core CPU & verify the usage"""
 
@@ -308,7 +308,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"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_04_deploy_multiple_vm_with_multiple_cpus(self):
         """Test Deploy multiple VM with 4 core CPU & verify the usage"""
 
@@ -462,7 +462,7 @@ class TestDomainCPULimitsConfiguration(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_stop_start_instance(self):
         """Test Deploy VM with 4 core CPU & verify the usage"""
 
@@ -534,7 +534,7 @@ class TestDomainCPULimitsConfiguration(cloudstackTestCase):
             "Resource count should be same after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_migrate_instance(self):
         """Test Deploy VM with 4 core CPU & verify the usage"""
 
@@ -594,7 +594,7 @@ class TestDomainCPULimitsConfiguration(cloudstackTestCase):
             "Resource count should be same after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_delete_instance(self):
         """Test Deploy VM with 4 core CPU & verify the usage"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_cpu_max_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_cpu_max_limits.py b/test/integration/component/test_cpu_max_limits.py
index 317df16..c0d3048 100644
--- a/test/integration/component/test_cpu_max_limits.py
+++ b/test/integration/component/test_cpu_max_limits.py
@@ -227,7 +227,7 @@ class TestMaxCPULimits(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""
@@ -260,7 +260,7 @@ class TestMaxCPULimits(cloudstackTestCase):
                 service_off=self.service_offering, api_client=api_client_admin)
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""
@@ -301,7 +301,7 @@ class TestMaxCPULimits(cloudstackTestCase):
                 service_off=self.service_offering, api_client=api_client_admin)
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""
@@ -336,7 +336,7 @@ class TestMaxCPULimits(cloudstackTestCase):
                 service_off=self.service_offering, api_client=api_client_admin)
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_cpu_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_cpu_project_limits.py b/test/integration/component/test_cpu_project_limits.py
index ed7cd88..8a355cf 100644
--- a/test/integration/component/test_cpu_project_limits.py
+++ b/test/integration/component/test_cpu_project_limits.py
@@ -216,7 +216,7 @@ class TestProjectsCPULimits(cloudstackTestCase):
                         "Check project name from list response")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_project_counts_start_stop_instance(self):
 
         # Validate the following
@@ -271,7 +271,7 @@ class TestProjectsCPULimits(cloudstackTestCase):
                          "Resource count should be same after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_project_counts_migrate_instance(self):
 
         # Validate the following
@@ -313,7 +313,7 @@ class TestProjectsCPULimits(cloudstackTestCase):
                          "Resource count should be same after migrating the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_project_counts_delete_instance(self):
 
         # Validate the following

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_custom_hostname.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_custom_hostname.py b/test/integration/component/test_custom_hostname.py
index 1549a20..baf4f1b 100644
--- a/test/integration/component/test_custom_hostname.py
+++ b/test/integration/component/test_custom_hostname.py
@@ -157,7 +157,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase):
 
 
     @attr(configuration='vm.instancename.flag')
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_user_provided_hostname(self):
         """ Verify user provided hostname to an instance
         """
@@ -261,7 +261,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase):
         return
 
     @attr(configuration='vm.instancename.flag')
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_02_instancename_from_default_configuration(self):
         """ Verify for globally set instancename
         """
@@ -372,7 +372,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase):
         return
 
     @attr(configuration='vm.instancename.flag')
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_03_duplicate_name(self):
         """ Test the duplicate name when old VM is in non-expunged state
         """
@@ -432,7 +432,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase):
         return
 
     @attr(configuration='vm.instancename.flag')
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_04_edit_display_name(self):
         """ Test Edit the Display name Through the UI.
         """
@@ -525,7 +525,7 @@ class TestInstanceNameFlagTrue(cloudstackTestCase):
         return
 
     @attr(configuration='vm.instancename.flag')
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     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)
@@ -622,7 +622,7 @@ class TestInstanceNameFlagFalse(cloudstackTestCase):
         return
 
     @attr(configuration='vm.instancename.flag')
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_custom_hostname_instancename_false(self):
         """ Verify custom hostname for the instance when
             vm.instancename.flag=false

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_deploy_vm_userdata_reg.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_deploy_vm_userdata_reg.py b/test/integration/component/test_deploy_vm_userdata_reg.py
index b282a86..912c917 100755
--- a/test/integration/component/test_deploy_vm_userdata_reg.py
+++ b/test/integration/component/test_deploy_vm_userdata_reg.py
@@ -100,7 +100,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
 
 
 
-    @attr(tags=["simulator", "devcloud", "basic", "advanced"])
+    @attr(tags=["simulator", "devcloud", "basic", "advanced", "provisioning"])
     def test_deployvm_userdata_post(self):
         """Test userdata as POST, size > 2k
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_egress_fw_rules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_egress_fw_rules.py b/test/integration/component/test_egress_fw_rules.py
index acba955..8da3738 100644
--- a/test/integration/component/test_egress_fw_rules.py
+++ b/test/integration/component/test_egress_fw_rules.py
@@ -384,7 +384,7 @@ class TestEgressFWRules(cloudstackTestCase):
         except Exception as e:
             self.fail("Warning! Cleanup failed: %s" % e)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_01_egress_fr1(self):
         """Test By-default the communication from guest n/w to public n/w is allowed.
         """
@@ -399,7 +399,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['0']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_01_1_egress_fr1(self):
         """Test By-default the communication from guest n/w to public n/w is NOT allowed.
         """
@@ -415,7 +415,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     negative_test=False)
 
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_02_egress_fr2(self):
         """Test Allow Communication using Egress rule with CIDR + Port Range + Protocol.
         """
@@ -432,7 +432,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['100']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_02_1_egress_fr2(self):
         """Test Allow Communication using Egress rule with CIDR + Port Range + Protocol.
         """
@@ -449,7 +449,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['0']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_03_egress_fr3(self):
         """Test Communication blocked with network that is other than specified
         """
@@ -470,7 +470,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "[]",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_03_1_egress_fr3(self):
         """Test Communication blocked with network that is other than specified
         """
@@ -491,7 +491,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['failed:']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_04_egress_fr4(self):
         """Test Create Egress rule and check the Firewall_Rules DB table
         """
@@ -528,7 +528,7 @@ class TestEgressFWRules(cloudstackTestCase):
                          "DB results not matching, expected: 1, found: %s" % qresultset[0][0])
 
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_04_1_egress_fr4(self):
         """Test Create Egress rule and check the Firewall_Rules DB table
         """
@@ -565,7 +565,7 @@ class TestEgressFWRules(cloudstackTestCase):
                          "DB results not matching, expected: 0, found: %s" % qresultset[0][0])
 
     @unittest.skip("Skip")
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "NotRun"])
     def test_05_egress_fr5(self):
         """Test Create Egress rule and check the IP tables
         """
@@ -584,7 +584,7 @@ class TestEgressFWRules(cloudstackTestCase):
 
 
     @unittest.skip("Skip")
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "NotRun"])
     def test_05_1_egress_fr5(self):
         """Test Create Egress rule and check the IP tables
         """
@@ -602,7 +602,7 @@ class TestEgressFWRules(cloudstackTestCase):
         #TODO: Query VR for expected route rules.
 
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_06_egress_fr6(self):
         """Test Create Egress rule without CIDR
         """
@@ -618,7 +618,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['100']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_06_1_egress_fr6(self):
         """Test Create Egress rule without CIDR
         """
@@ -634,7 +634,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['0']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_07_egress_fr7(self):
         """Test Create Egress rule without End Port
         """
@@ -650,7 +650,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['failed:']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_07_1_egress_fr7(self):
         """Test Create Egress rule without End Port
         """
@@ -667,7 +667,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     negative_test=False)
 
     @unittest.skip("Skip")
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "NotRun"])
     def test_08_egress_fr8(self):
         """Test Port Forwarding and Egress Conflict
         """
@@ -679,7 +679,7 @@ class TestEgressFWRules(cloudstackTestCase):
         self.createEgressRule()
 
     @unittest.skip("Skip")
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "NotRun"])
     def test_08_1_egress_fr8(self):
         """Test Port Forwarding and Egress Conflict
         """
@@ -691,7 +691,7 @@ class TestEgressFWRules(cloudstackTestCase):
         self.createEgressRule()
 
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_09_egress_fr9(self):
         """Test Delete Egress rule
         """
@@ -715,7 +715,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['0']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_09_1_egress_fr9(self):
         """Test Delete Egress rule
         """
@@ -740,7 +740,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     negative_test=False)
 
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_10_egress_fr10(self):
         """Test Invalid CIDR and Invalid Port ranges
         """
@@ -751,7 +751,7 @@ class TestEgressFWRules(cloudstackTestCase):
         self.create_vm()
         self.assertRaises(Exception, self.createEgressRule, '10.2.2.0/24')
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_10_1_egress_fr10(self):
         """Test Invalid CIDR and Invalid Port ranges
         """
@@ -763,7 +763,7 @@ class TestEgressFWRules(cloudstackTestCase):
         self.assertRaises(Exception, self.createEgressRule, '10.2.2.0/24')
 
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_11_egress_fr11(self):
         """Test Regression on Firewall + PF + LB + SNAT
         """
@@ -773,7 +773,7 @@ class TestEgressFWRules(cloudstackTestCase):
         # 3. All should work fine.
         self.create_vm(pfrule=True)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_11_1_egress_fr11(self):
         """Test Regression on Firewall + PF + LB + SNAT
         """
@@ -783,7 +783,7 @@ class TestEgressFWRules(cloudstackTestCase):
         # 3. All should work fine.
         self.create_vm(pfrule=True, egress_policy=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_12_egress_fr12(self):
         """Test Reboot Router
         """
@@ -800,7 +800,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['100']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_12_1_egress_fr12(self):
         """Test Reboot Router
         """
@@ -817,7 +817,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['0']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_13_egress_fr13(self):
         """Test Redundant Router : Master failover
         """
@@ -872,7 +872,7 @@ class TestEgressFWRules(cloudstackTestCase):
                                     "['100']",
                                     negative_test=False)
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_13_1_egress_fr13(self):
         """Test Redundant Router : Master failover
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_explicit_dedication.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_explicit_dedication.py b/test/integration/component/test_explicit_dedication.py
index 7aefc21..c589c6a 100644
--- a/test/integration/component/test_explicit_dedication.py
+++ b/test/integration/component/test_explicit_dedication.py
@@ -152,7 +152,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"])
+    @attr(tags=["advanced", "basic", "multihosts", "explicitdedication", "selfservice"])
     def test_01_deploy_vm_with_explicit_dedication(self):
         """Test explicit dedication is placing vms of an account on dedicated hosts.
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_haproxy.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_haproxy.py b/test/integration/component/test_haproxy.py
index f77e4ec..ceea50b 100644
--- a/test/integration/component/test_haproxy.py
+++ b/test/integration/component/test_haproxy.py
@@ -694,7 +694,7 @@ class TestHAProxyStickyness(cloudstackTestCase):
                                                      listall=True)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_07_delete_account(self):
         """Test Delete account  and check the router and its rules"""
 
@@ -735,7 +735,7 @@ class TestHAProxyStickyness(cloudstackTestCase):
                                        listall=True)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_08_create_policy_router_stopped(self):
         """Test verify create stickiness policy when router is stopped state"""
 
@@ -768,7 +768,7 @@ class TestHAProxyStickyness(cloudstackTestCase):
         self.validate_Stickiness_Policy(lb_rule, "LbCookie", self.public_ip.ipaddress.ipaddress)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_09_create_policy_router_destroy(self):
         """Test check the stickiness policy rules after destroying router"""
 
@@ -799,7 +799,7 @@ class TestHAProxyStickyness(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_10_create_policy_enable_disable_vpn(self):
         """Test enable/disable the VPN after applying sticky policy rules"""
 
@@ -830,7 +830,7 @@ class TestHAProxyStickyness(cloudstackTestCase):
         self.validate_Stickiness_Policy(lb_rule, "LbCookie", self.public_ip.ipaddress.ipaddress)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_11_invalid_params(self):
         """Test verfify functionality syncronous and asyncronous validations"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_implicit_planner.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_implicit_planner.py b/test/integration/component/test_implicit_planner.py
index 2b656d9..5124e70 100644
--- a/test/integration/component/test_implicit_planner.py
+++ b/test/integration/component/test_implicit_planner.py
@@ -144,7 +144,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"])
+    @attr(tags=["advanced", "basic", "multihosts", "implicitplanner", "selfservice"])
     def test_01_deploy_vm_with_implicit_planner(self):
         """Test implicit planner is placing vms of an account on implicitly dedicated hosts.
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_ip_reservation.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ip_reservation.py b/test/integration/component/test_ip_reservation.py
index 224212f..f0001cf 100755
--- a/test/integration/component/test_ip_reservation.py
+++ b/test/integration/component/test_ip_reservation.py
@@ -215,7 +215,7 @@ class TestIpReservation(cloudstackTestCase):
         self.cleanup.append(virtual_machine)
         return virtual_machine
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_network_not_implemented(self):
         # steps
         # 1. update guestvmcidr of isolated network (non persistent)
@@ -228,7 +228,7 @@ class TestIpReservation(cloudstackTestCase):
         except Exception as e:
             self.debug("Network Update of guest VM CIDR should fail as there is no VM deployed in network")
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_vm_create_after_reservation(self):
         # steps
         # 1. create vm in persistent isolated network with ip in guestvmcidr
@@ -263,7 +263,7 @@ class TestIpReservation(cloudstackTestCase):
         except Exception as e:
             self.skipTest("VM creation fails, cannot validate the condition")
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_reservation_after_router_restart(self):
         # steps
         # 1. update guestvmcidr of persistent isolated network
@@ -297,7 +297,7 @@ class TestIpReservation(cloudstackTestCase):
                     )
         self.assertEqual(networks[0].cidr, guest_vm_cidr, "guestvmcidr should match after router reboot")
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_vm_create_outside_cidr_after_reservation(self):
         # steps
         # 1. update guestvmcidr of persistent isolated network

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_ldap.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ldap.py b/test/integration/component/test_ldap.py
index d9e7c35..965ff36 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"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_01_addLdapConfiguration(self):
         """
         This test configures LDAP and attempts to authenticate as a user.

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_memory_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_memory_limits.py b/test/integration/component/test_memory_limits.py
index 231307f..020f89b 100644
--- a/test/integration/component/test_memory_limits.py
+++ b/test/integration/component/test_memory_limits.py
@@ -176,7 +176,7 @@ class TestMemoryLimits(cloudstackTestCase):
         except Exception as e:
             self.fail("Failed to deploy an instance: %s" % e)
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_stop_start_instance(self):
         """Test Deploy VM with specified RAM & verify the usage"""
 
@@ -228,7 +228,7 @@ class TestMemoryLimits(cloudstackTestCase):
                          "Resource count should be same after stopping the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_migrate_instance(self):
         """Test Deploy VM with specified RAM & verify the usage"""
 
@@ -269,7 +269,7 @@ class TestMemoryLimits(cloudstackTestCase):
                          "Resource count should be same after stopping the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_delete_instance(self):
         """Test Deploy VM with specified GB RAM & verify the usage"""
 
@@ -308,7 +308,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"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_04_deploy_multiple_vm(self):
         """Test Deploy multiple VM with specified RAM & verify the usage"""
 
@@ -479,7 +479,7 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_stop_start_instance(self):
         """Test Deploy VM with 5 GB memory & verify the usage"""
 
@@ -551,7 +551,7 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase):
                          "Resource count should be same after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_migrate_instance(self):
         """Test Deploy VM with specified memory & verify the usage"""
 
@@ -611,7 +611,7 @@ class TestDomainMemoryLimitsConfiguration(cloudstackTestCase):
                          "Resource count should be same after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_delete_instance(self):
         """Test Deploy VM with specified RAM & verify the usage"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_mm_domain_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_mm_domain_limits.py b/test/integration/component/test_mm_domain_limits.py
index a2b7395..0a8e98b 100644
--- a/test/integration/component/test_mm_domain_limits.py
+++ b/test/integration/component/test_mm_domain_limits.py
@@ -209,7 +209,7 @@ class TestDomainMemoryLimits(cloudstackTestCase):
                               domainid=self.child_do_admin_2.domainid)
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_change_service_offering(self):
         """Test Deploy VM with specified RAM & verify the usage"""
 
@@ -348,7 +348,7 @@ class TestDomainMemoryLimits(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_migrate_vm(self):
         """Test Deploy VM with specified RAM & verify the usage"""
 
@@ -409,7 +409,7 @@ class TestDomainMemoryLimits(cloudstackTestCase):
                             "Resource count should be same after migrating the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_delete_vm(self):
         """Test Deploy VM with specified RAM & verify the usage"""
 
@@ -468,7 +468,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"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_04_deploy_multiple_vm(self):
         """Test Deploy multiple VM with specified RAM & verify the usage"""
 
@@ -682,7 +682,7 @@ class TestMultipleChildDomainsMemory(cloudstackTestCase):
                  }
         return users
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_multiple_child_domains(self):
         """Test memory limits with multiple child domains"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_mm_max_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_mm_max_limits.py b/test/integration/component/test_mm_max_limits.py
index e10c119..52ff98e 100644
--- a/test/integration/component/test_mm_max_limits.py
+++ b/test/integration/component/test_mm_max_limits.py
@@ -239,7 +239,7 @@ class TestMaxMemoryLimits(cloudstackTestCase):
                     (responses.domain, responses.domainid, responses.max))
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""
@@ -266,7 +266,7 @@ class TestMaxMemoryLimits(cloudstackTestCase):
                               service_off=self.service_offering, api_client=api_client)
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""
@@ -296,7 +296,7 @@ class TestMaxMemoryLimits(cloudstackTestCase):
                               service_off=self.service_offering, api_client=api_client)
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     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"""
@@ -320,7 +320,7 @@ class TestMaxMemoryLimits(cloudstackTestCase):
                             service_off=self.service_offering, api_client=api_client)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     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"""

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_mm_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_mm_project_limits.py b/test/integration/component/test_mm_project_limits.py
index 29a3b54..00c0ab4 100644
--- a/test/integration/component/test_mm_project_limits.py
+++ b/test/integration/component/test_mm_project_limits.py
@@ -216,7 +216,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase):
                         "Check project name from list response")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_01_project_vmlifecycle_start_stop_instance(self):
 
         # Validate the following
@@ -273,7 +273,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase):
                          "Resource count should be same after starting the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "provisioning"])
     def test_02_project_vmlifecycle_migrate_instance(self):
 
         # Validate the following
@@ -314,7 +314,7 @@ class TestProjectsMemoryLimits(cloudstackTestCase):
                          "Resource count should be same after migrating the instance")
         return
 
-    @attr(tags=["advanced", "advancedns","simulator"])
+    @attr(tags=["advanced", "advancedns","simulator", "selfservice"])
     def test_03_project_vmlifecycle_delete_instance(self):
 
         # Validate the following

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_netscaler_configs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_configs.py b/test/integration/component/test_netscaler_configs.py
index 98c4748..98613fe 100644
--- a/test/integration/component/test_netscaler_configs.py
+++ b/test/integration/component/test_netscaler_configs.py
@@ -192,7 +192,7 @@ class TestAddNetScaler(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_add_netscaler_device(self):
         """Test add netscaler device
         """
@@ -318,7 +318,7 @@ class TestInvalidParametersNetscaler(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_invalid_cred(self):
         """Test add netscaler device with invalid credential
         """
@@ -387,7 +387,7 @@ class TestInvalidParametersNetscaler(cloudstackTestCase):
                                   )
         return
 
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_invalid_public_interface(self):
         """Test add netscaler device with invalid public interface
         """
@@ -454,7 +454,7 @@ class TestInvalidParametersNetscaler(cloudstackTestCase):
                                   )
         return
 
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_invalid_private_interface(self):
         """Test add netscaler device with invalid private interface
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_netscaler_nw_off.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_netscaler_nw_off.py b/test/integration/component/test_netscaler_nw_off.py
index 3372612..a94f01d 100644
--- a/test/integration/component/test_netscaler_nw_off.py
+++ b/test/integration/component/test_netscaler_nw_off.py
@@ -227,7 +227,7 @@ class TestAddMultipleNetScaler(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_add_netscaler_device(self):
         """Test add netscaler device
         """
@@ -385,7 +385,7 @@ class TestAddMultipleNSDiffZone(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advancedns", "multizone"])
+    @attr(tags=["advancedns", "multizone", "provisioning"])
     def test_add_mul_netscaler_diff_zone(self):
         """Test add netscaler devices in different zones
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_network_offering.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_network_offering.py b/test/integration/component/test_network_offering.py
index 33c4305..7040722 100644
--- a/test/integration/component/test_network_offering.py
+++ b/test/integration/component/test_network_offering.py
@@ -215,7 +215,7 @@ class TestNOVirtualRouter(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_01_network_off_without_conserve_mode(self):
         """Test Network offering with Conserve mode off and VR - All services
         """
@@ -460,7 +460,7 @@ class TestNOVirtualRouter(cloudstackTestCase):
                             )
         return
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_02_network_off_with_conserve_mode(self):
         """Test Network offering with Conserve mode ON and VR - All services
         """
@@ -798,7 +798,7 @@ class TestNetworkUpgrade(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_01_nwupgrade_netscaler_conserve_on(self):
         """Test Nw upgrade to netscaler lb service and conserve mode ON
         """
@@ -998,7 +998,7 @@ class TestNetworkUpgrade(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advancedns"])
+    @attr(tags=["advancedns", "provisioning"])
     def test_02_nwupgrade_netscaler_conserve_off(self):
         """Test Nw upgrade to netscaler lb service and conserve mode OFF
         """
@@ -1218,7 +1218,7 @@ class TestNOWithOnlySourceNAT(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_create_network_with_snat(self):
         """Test to create a network with SourceNAT service only"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_persistent_networks.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_persistent_networks.py b/test/integration/component/test_persistent_networks.py
index 8c1d54d..1eefad8 100644
--- a/test/integration/component/test_persistent_networks.py
+++ b/test/integration/component/test_persistent_networks.py
@@ -209,7 +209,7 @@ class TestPersistentNetworks(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_network_state_after_destroying_vms(self):
         # steps
         # 1. Create an isolated persistent network
@@ -248,7 +248,7 @@ class TestPersistentNetworks(cloudstackTestCase):
         verifyNetworkState(self.api_client, network.id, "implemented")
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_shared_network_offering_with_persistent(self):
         # steps
         # 1. create shared network offering with persistent field enabled

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_portable_ip.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_portable_ip.py b/test/integration/component/test_portable_ip.py
index 40d80ab..e8bf4f5 100644
--- a/test/integration/component/test_portable_ip.py
+++ b/test/integration/component/test_portable_ip.py
@@ -192,7 +192,7 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_create_portable_ip_range(self):
         """Test create new portable ip range
         """
@@ -225,7 +225,7 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_create_portable_ip_range_non_root_admin(self):
         """Test create new portable ip range with non admin root account
         """
@@ -258,7 +258,7 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_create_portable_ip_range_invalid_region(self):
         """Test create portable ip range with invalid region id"""
 
@@ -348,7 +348,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_delete_portable_ip_range(self):
         """Test delete ip range
         """
@@ -363,7 +363,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_delete_portable_ip_range_non_root_admin(self):
         """Test delete ip range - non admin root
         """
@@ -389,7 +389,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
         self.portable_ip_range.delete(self.apiclient)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_delete_portable_ip_range_in_use(self):
         """Test delete ip range
         """
@@ -521,7 +521,7 @@ class TestListPortablePublicIpRanges(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_list_portable_ip_range(self):
         """Test list portable ip ranges
         """
@@ -553,7 +553,7 @@ class TestListPortablePublicIpRanges(cloudstackTestCase):
                          "Listed netmask not matching with the netmask of created public ip range")
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced","swamy", "selfservice"])
     def test_list_portable_ip_range_non_root_admin(self):
         """Test list portable ip ranges with non admin root account
         """
@@ -684,7 +684,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_associate_ip_address(self):
         """ Test assocoate public ip address
         """
@@ -733,7 +733,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_associate_ip_address_invalid_zone(self):
         """ Test Associate IP with invalid zone id
         """
@@ -756,7 +756,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
         self.debug("Associating ip address failed")
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_associate_ip_address_services_enable_disable(self):
         """ Test enabling and disabling NAT, Firewall services on portable ip
         """
@@ -852,7 +852,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
             portableip.delete(self.apiclient)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_associate_ip_address_no_free_ip(self):
         """ Test assocoate public ip address
         """
@@ -1026,7 +1026,7 @@ class TestDisassociatePublicIp(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_disassociate_ip_address_no_services(self):
         """ Test disassociating portable ip
         """
@@ -1057,7 +1057,7 @@ class TestDisassociatePublicIp(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_disassociate_ip_address_services_enabled(self):
         """ Test disassociating portable ip
         """
@@ -1118,7 +1118,7 @@ class TestDisassociatePublicIp(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_disassociate_ip_address_other_account(self):
         """ Test disassociating portable IP with non-owner account
         """
@@ -1275,7 +1275,7 @@ class TestDeleteAccount(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_delete_account_services_disabled(self):
         """ test delete account with portable ip with no services enabled
         """
@@ -1305,7 +1305,7 @@ class TestDeleteAccount(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_delete_account_services_enabled(self):
         """ test delete account with portable ip with PF and firewall services enabled
         """
@@ -1519,7 +1519,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced","swamy"])
+    @attr(tags=["advanced","swamy", "selfservice"])
     def test_list_portable_ip_range_non_root_admin(self):
         """Test list portable ip ranges with non admin root account
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_project_configs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_configs.py b/test/integration/component/test_project_configs.py
index be6cf1c..4d878f7 100644
--- a/test/integration/component/test_project_configs.py
+++ b/test/integration/component/test_project_configs.py
@@ -175,7 +175,7 @@ class TestUserProjectCreation(cloudstackTestCase):
         return
 
     @attr(configuration = "allow.user.create.projects")
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_admin_project_creation(self):
         """Test create project as a domain admin and domain user
         """
@@ -483,7 +483,7 @@ class TestProjectInviteRequired(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_add_user_to_project(self):
         """Add user to project when 'project.invite.required' is false"""
 
@@ -636,7 +636,7 @@ class TestProjectInviteRequiredTrue(cloudstackTestCase):
         return
 
     @attr(configuration = "project.invite.required")
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_add_user_to_project(self):
         """Add user to project when 'project.invite.required' is true"""