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:02 UTC

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

Repository: cloudstack
Updated Branches:
  refs/heads/master d8586462e -> 91a5e3bb6


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_network_pfrules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_network_pfrules.py b/test/integration/component/test_vpc_network_pfrules.py
index c65da41..e5bb158 100644
--- a/test/integration/component/test_vpc_network_pfrules.py
+++ b/test/integration/component/test_vpc_network_pfrules.py
@@ -484,7 +484,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         return nwacl_internet_1
 
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_01_network_services_VPC_StopCreatePF(self):
         """ Test : Create VPC PF rules on acquired public ip when VpcVirtualRouter is stopped
         """
@@ -515,7 +515,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_02_network_services_VPC_CreatePF(self):
         """ Test Create VPC PF rules on acquired public ip when VpcVirtualRouter is Running
         """
@@ -535,7 +535,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
         """
@@ -571,7 +571,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
         """
@@ -599,7 +599,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_05_network_services_VPC_StopDeletePF(self):
         """ Test delete a PF rule in VPC when VpcVirtualRouter is Stopped
         """
@@ -630,7 +630,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_06_network_services_VPC_DeletePF(self):
         """ Test delete a PF rule in VPC when VpcVirtualRouter is Running
         """
@@ -657,7 +657,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_07_network_services_VPC_StopDeleteAllPF(self):
         """ Test delete all PF rules in VPC when VpcVirtualRouter is Stopped
         """
@@ -691,7 +691,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_08_network_services_VPC_DeleteAllPF(self):
         """ Test delete all PF rules in VPC when VpcVirtualRouter is Running
         """
@@ -721,7 +721,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_09_network_services_VPC_StopDeleteAllMultiplePF(self):
         """ Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Stopped
         """
@@ -788,7 +788,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_4, public_ip_4, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_10_network_services_VPC_DeleteAllMultiplePF(self):
         """ Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Running
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_network_staticnatrule.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_network_staticnatrule.py b/test/integration/component/test_vpc_network_staticnatrule.py
index 46e3479..ddc3c4c 100644
--- a/test/integration/component/test_vpc_network_staticnatrule.py
+++ b/test/integration/component/test_vpc_network_staticnatrule.py
@@ -495,7 +495,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         return nwacl_nat
 
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_01_VPC_StaticNatRuleCreateStoppedState(self):
         """ Test case no extra : 
         """
@@ -523,7 +523,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -546,7 +546,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -586,7 +586,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -619,7 +619,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -651,7 +651,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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.

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_offerings.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_offerings.py b/test/integration/component/test_vpc_offerings.py
index 699cef9..9e3064b 100644
--- a/test/integration/component/test_vpc_offerings.py
+++ b/test/integration/component/test_vpc_offerings.py
@@ -235,7 +235,7 @@ class TestVPCOffering(cloudstackTestCase):
         self.debug("VPC network created successfully - %s" % network.name)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_01_create_vpc_offering(self):
         """ Test create VPC offering
         """
@@ -255,7 +255,7 @@ class TestVPCOffering(cloudstackTestCase):
         self.validate_vpc_offering(vpc_off)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_02_deploy_vms_in_vpc_nw(self):
         """Test deploy virtual machines in VPC networks"""
 
@@ -457,7 +457,7 @@ class TestVPCOffering(cloudstackTestCase):
         # TODO: Remote Access VPN is not yet supported in VPC
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_03_vpc_off_without_lb(self):
         """Test VPC offering without load balancing service"""
 
@@ -578,7 +578,7 @@ class TestVPCOffering(cloudstackTestCase):
                                 )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_04_vpc_off_without_static_nat(self):
         """Test VPC offering without static NAT service"""
 
@@ -697,7 +697,7 @@ class TestVPCOffering(cloudstackTestCase):
                               )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_05_vpc_off_without_pf(self):
         """Test VPC offering without port forwarding service"""
 
@@ -815,7 +815,7 @@ class TestVPCOffering(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_06_vpc_off_invalid_services(self):
         """Test VPC offering with invalid services"""
 
@@ -847,7 +847,7 @@ class TestVPCOffering(cloudstackTestCase):
             self.fail("Failed to create the VPC offering - %s" % e)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_07_update_vpc_off(self):
         """Test update VPC offering"""
 
@@ -936,7 +936,7 @@ class TestVPCOffering(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_08_list_vpc_off(self):
         """Test list VPC offering"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_routers.py b/test/integration/component/test_vpc_routers.py
index a836627..fb5aed5 100644
--- a/test/integration/component/test_vpc_routers.py
+++ b/test/integration/component/test_vpc_routers.py
@@ -343,7 +343,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
                          " still %s" % (host.id, router.hostid))
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_01_stop_start_router_after_creating_vpc(self):
         """ Test to stop and start router after creation of VPC
         """
@@ -421,7 +421,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
         
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_02_reboot_router_after_creating_vpc(self):
         """ Test to reboot the router after creating a VPC
         """
@@ -470,7 +470,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
         return
 
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_03_migrate_router_after_creating_vpc(self):
         """ Test migration of router to another host after creating VPC """
 
@@ -491,7 +491,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
         self.migrate_router(routers[0])
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_04_change_service_offerring_vpc(self):
         """ Tests to change service offering of the Router after
             creating a vpc
@@ -552,7 +552,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
                         ) 
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_05_destroy_router_after_creating_vpc(self):
         """ Test to destroy the router after creating a VPC
 	    """
@@ -980,7 +980,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
         return
 
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioining"])
     def test_01_start_stop_router_after_addition_of_one_guest_network(self):
         """ Test start/stop of router after addition of one guest network
 	    """
@@ -1075,7 +1075,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
         
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_02_reboot_router_after_addition_of_one_guest_network(self):
         """ Test reboot of router after addition of one guest network
 	    """
@@ -1142,7 +1142,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_03_migrate_router_after_addition_of_one_guest_network(self):
         """ Test migrate of router after addition of one guest network
 	    """
@@ -1185,7 +1185,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
         self.migrate_router(routers[0])
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     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
 	    """
@@ -1263,7 +1263,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                         ) 
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_05_destroy_router_after_addition_of_one_guest_network(self):
         """ Test destroy of router after addition of one guest network
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_vms_deployment.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_vms_deployment.py b/test/integration/component/test_vpc_vms_deployment.py
index 0a244ab..0ef51b4 100644
--- a/test/integration/component/test_vpc_vms_deployment.py
+++ b/test/integration/component/test_vpc_vms_deployment.py
@@ -276,7 +276,7 @@ class TestVMDeployVPC(cloudstackTestCase):
         self.debug("VPC network validated - %s" % network.name)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_01_deploy_vms_in_network(self):
         """ Test deploy VMs in VPC networks
         """
@@ -490,7 +490,7 @@ class TestVMDeployVPC(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_02_deploy_vms_delete_network(self):
         """ Test deploy VMs in VPC networks and delete one of the network
         """
@@ -742,7 +742,7 @@ class TestVMDeployVPC(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_03_deploy_vms_delete_add_network(self):
         """ Test deploy VMs, delete one of the network and add another one
         """
@@ -1011,7 +1011,7 @@ class TestVMDeployVPC(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_04_deploy_vms_delete_add_network_noLb(self):
         """ Test deploy VMs, delete one network without LB and add another one
         """
@@ -1305,7 +1305,7 @@ class TestVMDeployVPC(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_05_create_network_max_limit(self):
         """ Test create networks in VPC upto maximum limit for hypervisor
         """
@@ -1476,7 +1476,7 @@ class TestVMDeployVPC(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_06_delete_network_vm_running(self):
         """ Test delete network having running instances in VPC
         """
@@ -1718,7 +1718,7 @@ class TestVMDeployVPC(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_07_delete_network_with_rules(self):
         """ Test delete network that has PF/staticNat/LB rules/Network Acl
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpn_users.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpn_users.py b/test/integration/component/test_vpn_users.py
index 02dd026..710055a 100644
--- a/test/integration/component/test_vpn_users.py
+++ b/test/integration/component/test_vpn_users.py
@@ -258,7 +258,7 @@ class TestVPNUsers(cloudstackTestCase):
         self.debug("Limit exceeded exception raised!")
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_02_use_vpn_port(self):
         """Test create VPN when L2TP port in use"""
 
@@ -289,7 +289,7 @@ class TestVPNUsers(cloudstackTestCase):
         self.debug("Create VPN connection failed! Test successful!")
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_03_enable_vpn_use_port(self):
         """Test create NAT rule when VPN when L2TP enabled"""
 
@@ -315,7 +315,7 @@ class TestVPNUsers(cloudstackTestCase):
         self.debug("Create NAT rule failed! Test successful!")
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_04_add_new_users(self):
         """Test add new users to existing VPN"""
 
@@ -343,7 +343,7 @@ class TestVPNUsers(cloudstackTestCase):
             self.fail("Failed to create new VPN user: %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_05_add_duplicate_user(self):
         """Test add duplicate user to existing VPN"""
 
@@ -366,7 +366,7 @@ class TestVPNUsers(cloudstackTestCase):
             self.create_VPN_Users(rand_name=False)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     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."""
@@ -409,7 +409,7 @@ class TestVPNUsers(cloudstackTestCase):
                                                                             e)
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     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."""


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

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_limits.py b/test/integration/component/test_project_limits.py
index 7cb29b7..7d93876 100644
--- a/test/integration/component/test_project_limits.py
+++ b/test/integration/component/test_project_limits.py
@@ -185,7 +185,7 @@ class TestProjectLimits(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", "simulator", "selfservice"])
     def test_01_project_limits(self):
         """ Test project limits for domain admin
         """
@@ -352,7 +352,7 @@ class TestProjectLimits(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_02_project_limits_normal_user(self):
         """ Test project limits for normal user
         """
@@ -576,7 +576,7 @@ class TestResourceLimitsProject(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", "simulator", "selfservice"])
     def test_03_vm_per_project(self):
         """Test VM limit per project
         """
@@ -638,7 +638,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
                                 )
         return
 
-    @attr(tags=["advanced", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"])
     def test_04_publicip_per_project(self):
         """Test Public IP limit per project
         """
@@ -723,7 +723,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
                                            )
         return
 
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_05_snapshots_per_project(self):
         """Test Snapshot limit per project
         """
@@ -799,7 +799,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
                             )
         return
 
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_06_volumes_per_project(self):
         """Test Volumes limit per project
         """
@@ -855,7 +855,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_07_templates_per_project(self):
         """Test Templates limit per project
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_project_resources.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_resources.py b/test/integration/component/test_project_resources.py
index d6a732d..7fb23a4 100644
--- a/test/integration/component/test_project_resources.py
+++ b/test/integration/component/test_project_resources.py
@@ -227,7 +227,7 @@ class TestOfferings(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", "simulator", "selfservice"])
     def test_01_service_offerings(self):
         """ Test service offerings in a project
         """
@@ -269,7 +269,7 @@ class TestOfferings(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_02_project_disk_offerings(self):
         """ Test project disk offerings
         """
@@ -403,7 +403,7 @@ class TestNetwork(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_03_network_create(self):
         """ Test create network in project
         """
@@ -628,7 +628,7 @@ class TestTemplates(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_04_public_template_use_in_project(self):
         """Test Templates creation in projects
         """
@@ -686,7 +686,7 @@ class TestTemplates(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_05_use_private_template_in_project(self):
         """Test use of private template in a project
         """
@@ -852,7 +852,7 @@ class TestSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_06_create_snapshots_in_project(self):
         """Test create snapshots in project
         """
@@ -1008,7 +1008,7 @@ class TestPublicIpAddress(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_07_associate_public_ip(self):
         """Test associate public IP within the project
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_project_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_usage.py b/test/integration/component/test_project_usage.py
index ba0a63c..10f48a6 100644
--- a/test/integration/component/test_project_usage.py
+++ b/test/integration/component/test_project_usage.py
@@ -192,7 +192,7 @@ class TestVmUsage(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", "simulator", "selfservice"])
     def test_01_vm_usage(self):
         """Test Create/Destroy VM and verify usage calculation
         """
@@ -404,7 +404,7 @@ class TestPublicIPUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_public_ip_usage(self):
         """Test Assign new IP and verify usage calculation
         """
@@ -563,7 +563,7 @@ class TestVolumeUsage(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", "simulator", "selfservice"])
     def test_01_volume_usage(self):
         """Test Create/delete a volume and verify correct usage is recorded
         """
@@ -755,7 +755,7 @@ class TestTemplateUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_01_template_usage(self):
         """Test Upload/ delete a template and verify correct usage is generated
             for the template uploaded
@@ -908,7 +908,7 @@ class TestISOUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_01_ISO_usage(self):
         """Test Create/Delete a ISO and verify its usage is generated correctly
         """
@@ -1082,7 +1082,7 @@ class TestLBRuleUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_lb_usage(self):
         """Test Create/Delete a LB rule and verify correct usage is recorded
         """
@@ -1250,7 +1250,7 @@ class TestSnapshotUsage(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_snapshot_usage(self):
         """Test Create/Delete a manual snap shot and verify
         correct usage is recorded
@@ -1443,7 +1443,7 @@ class TestNatRuleUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_nat_usage(self):
         """Test Create/Delete a PF rule and verify correct usage is recorded
         """
@@ -1627,7 +1627,7 @@ class TestVpnUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_vpn_usage(self):
         """Test Create/Delete a VPN and verify correct usage is recorded
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_projects.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_projects.py b/test/integration/component/test_projects.py
index 4b82fc2..1a00f58 100644
--- a/test/integration/component/test_projects.py
+++ b/test/integration/component/test_projects.py
@@ -168,7 +168,7 @@ class TestMultipleProjectCreation(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", "simulator", "selfservice"])
     def test_01_create_multiple_projects_by_account(self):
         """ Verify an account can own multiple projects and can belong to multiple projects
         """
@@ -389,7 +389,7 @@ class TestCrossDomainAccountAdd(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", "simulator", "selfservice"])
     def test_02_cross_domain_account_add(self):
         """ Verify No cross domain projects
         """
@@ -510,7 +510,7 @@ class TestDeleteAccountWithProject(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", "simulator", "selfservice"])
     def test_03_delete_account_with_project(self):
         """ Test As long as the project exists, its owner can't be removed
         """
@@ -624,7 +624,7 @@ class TestDeleteDomainWithProject(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", "simulator", "selfservice"])
     def test_04_delete_domain_with_project(self):
         """ Test Verify delete domain with cleanup=true should delete projects
             belonging to the domain
@@ -770,7 +770,7 @@ class TestProjectOwners(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", "simulator", "selfservice"])
     def test_05_user_project_owner_promotion(self):
         """ Test Verify a project user can be later promoted to become a
             owner
@@ -912,7 +912,7 @@ class TestProjectOwners(cloudstackTestCase):
                             )
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_06_max_one_project_owner(self):
         """ Test Verify there can only be one owner of a project at a time
         """
@@ -1203,7 +1203,7 @@ class TestProjectResources(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", "simulator", "selfservice"])
     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.
         """
@@ -1317,7 +1317,7 @@ class TestProjectResources(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_08_cleanup_after_project_delete(self):
         """ Test accounts are unassigned from project after project deletion
         """
@@ -1529,7 +1529,7 @@ class TestProjectSuspendActivate(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", "simulator", "selfservice"])
     def test_09_project_suspend(self):
         """ Test Verify after an account is removed from the project, all his
             resources stay with the project.
@@ -1666,7 +1666,7 @@ class TestProjectSuspendActivate(cloudstackTestCase):
                     )
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_10_project_activation(self):
         """ Test project activation after suspension
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_recurring_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_recurring_snapshots.py b/test/integration/component/test_recurring_snapshots.py
index 06df170..fd1b57d 100644
--- a/test/integration/component/test_recurring_snapshots.py
+++ b/test/integration/component/test_recurring_snapshots.py
@@ -216,7 +216,7 @@ class TestRecurringSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "selfservice"])
     def test_recurring_snapshot_root_disk(self):
         """Test Recurring Snapshot Root Disk
         """
@@ -309,7 +309,7 @@ class TestRecurringSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "selfservice"])
     def test_recurring_snapshot_data_disk(self):
         """Test Recurring Snapshot data Disk
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_redundant_router_cleanups.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_redundant_router_cleanups.py b/test/integration/component/test_redundant_router_cleanups.py
index e30c102..84cbc6f 100644
--- a/test/integration/component/test_redundant_router_cleanups.py
+++ b/test/integration/component/test_redundant_router_cleanups.py
@@ -201,7 +201,7 @@ class TestRedundantRouterNetworkCleanups(cloudstackTestCase):
             #raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns", "ssh", "selfservice"])
     def test_restart_ntwk_no_cleanup(self):
         """Test restarting RvR network without cleanup
         """
@@ -342,7 +342,7 @@ class TestRedundantRouterNetworkCleanups(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns", "ssh", "selfservice"])
     def test_restart_ntwk_with_cleanup(self):
         """Test restart RvR network with cleanup
         """
@@ -483,7 +483,7 @@ class TestRedundantRouterNetworkCleanups(cloudstackTestCase):
                              )
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns", "ssh", "selfservice"])
     def test_network_gc(self):
         """Test network garbage collection with RVR
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_redundant_router_services.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_redundant_router_services.py b/test/integration/component/test_redundant_router_services.py
index 64bb6e9..5204d6f 100644
--- a/test/integration/component/test_redundant_router_services.py
+++ b/test/integration/component/test_redundant_router_services.py
@@ -201,7 +201,7 @@ class TestEnableVPNOverRvR(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns", "ssh", "selfservice"])
     def test_enableVPNOverRvR(self):
         """Test redundant router internals
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_redundant_router_upgrades.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_redundant_router_upgrades.py b/test/integration/component/test_redundant_router_upgrades.py
index e9303c0..bd38c14 100644
--- a/test/integration/component/test_redundant_router_upgrades.py
+++ b/test/integration/component/test_redundant_router_upgrades.py
@@ -200,7 +200,7 @@ class TestRvRUpgradeDowngrade(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns", "ssh", "selfservice"])
     def test_upgradeVR_to_redundantVR(self):
         """Test upgrade virtual router to redundant virtual router
         """
@@ -345,7 +345,7 @@ class TestRvRUpgradeDowngrade(cloudstackTestCase):
                     )
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns", "ssh", "selfservice"])
     def test_downgradeRvR_to_VR(self):
         """Test downgrade redundant virtual router to virtual router
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_regions.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_regions.py b/test/integration/component/test_regions.py
index 252ba70..b40a48b 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"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     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"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     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"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_updateRegion(self):
        """ Test for update Region
        """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_regions_accounts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_regions_accounts.py b/test/integration/component/test_regions_accounts.py
index 886e620..51620e5 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"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     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"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     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"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_createdomainWithUUID(self):
         """Test for creating Domain by passing id parameter
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_resource_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_resource_limits.py b/test/integration/component/test_resource_limits.py
index f0d558e..9f99161 100644
--- a/test/integration/component/test_resource_limits.py
+++ b/test/integration/component/test_resource_limits.py
@@ -195,7 +195,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_vm_per_account(self):
         """Test VM limit per account
         """
@@ -288,7 +288,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_02_publicip_per_account(self):
         """Test Public IP limit per account
         """
@@ -432,7 +432,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
         return
 
     @attr(speed="slow")
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_03_snapshots_per_account(self):
         """Test Snapshot limit per account
         """
@@ -591,7 +591,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_04_volumes_per_account(self):
         """Test Volumes limit per account
         """
@@ -733,7 +733,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_05_templates_per_account(self):
         """Test Templates limit per account
         """
@@ -966,7 +966,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_vm_per_domain(self):
         """Test VM limit per domain
         """
@@ -1032,7 +1032,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
                                 )
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_publicip_per_domain(self):
         """Test Public IP limit per domain
         """
@@ -1103,7 +1103,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
         return
 
     @attr(speed="slow")
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_03_snapshots_per_domain(self):
         """Test Snapshot limit per domain
         """
@@ -1187,7 +1187,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
                             )
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_04_volumes_per_domain(self):
         """Test Volumes limit per domain
         """
@@ -1240,7 +1240,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_05_templates_per_domain(self):
         """Test Templates limit per domain
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_routers.py b/test/integration/component/test_routers.py
index ced3f52..29e2e9f 100644
--- a/test/integration/component/test_routers.py
+++ b/test/integration/component/test_routers.py
@@ -167,7 +167,7 @@ class TestRouterServices(cloudstackTestCase):
         self.cleanup = []
         return
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_01_AdvancedZoneRouterServices(self):
         """Test advanced zone router services
         """
@@ -318,7 +318,7 @@ class TestRouterServices(cloudstackTestCase):
         return
 
     @attr(configuration = "network.gc")
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_02_NetworkGarbageCollection(self):
         """Test network garbage collection
         """
@@ -496,7 +496,7 @@ class TestRouterServices(cloudstackTestCase):
         self.cleanup.append(self.vm_2)
         return
 
-    @attr(tags = ["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_03_RouterStartOnVmDeploy(self):
         """Test router start on VM deploy
         """
@@ -703,7 +703,7 @@ class TestRouterStopCreatePF(cloudstackTestCase):
         self.cleanup = []
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_01_RouterStopCreatePF(self):
         """Test router stop create port forwarding
         """
@@ -914,7 +914,7 @@ class TestRouterStopCreateLB(cloudstackTestCase):
         self.cleanup = []
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_01_RouterStopCreateLB(self):
         """Test router stop create Load balancing
         """
@@ -1125,7 +1125,7 @@ class TestRouterStopCreateFW(cloudstackTestCase):
         self.cleanup = []
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_01_RouterStopCreateFW(self):
         """Test router stop create Firewall rule
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_shared_networks.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_shared_networks.py b/test/integration/component/test_shared_networks.py
index 99cce19..9d96fd6 100644
--- a/test/integration/component/test_shared_networks.py
+++ b/test/integration/component/test_shared_networks.py
@@ -260,7 +260,7 @@ class TestSharedNetworks(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_sharedNetworkOffering_01(self):
         """  Test shared network Offering 01 """
 
@@ -396,7 +396,7 @@ class TestSharedNetworks(cloudstackTestCase):
             )
         self.debug("NetworkOffering created and enabled: %s" % self.shared_network_offering.id)
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_sharedNetworkOffering_02(self):
         """ Test Shared Network Offering 02 """
 
@@ -485,7 +485,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_sharedNetworkOffering_03(self):
         """ Test Shared Network Offering 03 """
 
@@ -575,7 +575,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_createSharedNetwork_All(self):
         """ Test Shared Network ALL  """
 
@@ -846,7 +846,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_createSharedNetwork_accountSpecific(self):
         """ Test Shared Network with scope account """
 
@@ -1095,7 +1095,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_createSharedNetwork_domainSpecific(self):
         """ Test Shared Network with scope domain """
 
@@ -1439,7 +1439,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_createSharedNetwork_projectSpecific(self):
         """ Test Shared Network with scope project  """
 
@@ -1716,7 +1716,7 @@ class TestSharedNetworks(cloudstackTestCase):
             self.fail("Virtual machine ip should be from the ip range assigned to network created.")
 
     @unittest.skip("skipped - This is a redundant case and also this is causing issue for rest fo the cases ")
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "NA"])
     def test_createSharedNetwork_usedVlan(self):
         """ Test Shared Network with used vlan 01 """
 
@@ -1860,7 +1860,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_createSharedNetwork_usedVlan2(self):
         """ Test Shared Network with used vlan 02 """
 
@@ -2042,7 +2042,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_deployVM_multipleSharedNetwork(self):
         """ Test Vm deployment with multiple shared networks """
 
@@ -2292,7 +2292,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"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_deployVM_isolatedAndShared(self):
         """ Test VM deployment in shared and isolated networks """
 
@@ -2631,7 +2631,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"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_networkWithsubdomainaccessTrue(self):
         """ Test Shared Network with subdomainaccess=True """
 
@@ -2762,7 +2762,7 @@ class TestSharedNetworks(cloudstackTestCase):
         except:
             self.debug("Network creation failed because subdomainaccess parameter was passed when scope was account.")
 
-    @attr(tags=["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_networkWithsubdomainaccessFalse(self):
         """ Test shared Network with subdomainaccess=False """
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_snapshot_gc.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshot_gc.py b/test/integration/component/test_snapshot_gc.py
index 1e1cc5d..6858670 100644
--- a/test/integration/component/test_snapshot_gc.py
+++ b/test/integration/component/test_snapshot_gc.py
@@ -206,7 +206,7 @@ class TestAccountSnapshotClean(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"])
     def test_02_accountSnapshotClean(self):
         """Test snapshot cleanup after account deletion
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_snapshot_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshot_limits.py b/test/integration/component/test_snapshot_limits.py
index a1bf1ba..e204f4c 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"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_04_snapshot_limit(self):
         """Test snapshot limit in snapshot policies
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshots.py b/test/integration/component/test_snapshots.py
index 17579d6..034af9c 100644
--- a/test/integration/component/test_snapshots.py
+++ b/test/integration/component/test_snapshots.py
@@ -242,7 +242,7 @@ class TestSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
     def test_02_snapshot_data_disk(self):
         """Test Snapshot Data Disk
         """
@@ -289,7 +289,7 @@ class TestSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"])
     def test_01_volume_from_snapshot(self):
         """Test Creating snapshot from volume having spaces in name(KVM)
         """
@@ -534,7 +534,7 @@ class TestSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
     def test_04_delete_snapshot(self):
         """Test Delete Snapshot
         """
@@ -593,7 +593,7 @@ class TestSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "advancedns", "basic", "sg", "provisioning"])
     def test_03_snapshot_detachedDisk(self):
         """Test snapshot from detached disk
         """
@@ -719,7 +719,7 @@ class TestSnapshots(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "smoke", "xen"])
+    @attr(tags=["advanced", "advancedns", "smoke", "xen", "provisioning"])
     def test_07_template_from_snapshot(self):
         """Create Template from snapshot
         """
@@ -969,7 +969,7 @@ class TestCreateVMSnapshotTemplate(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_01_createVM_snapshotTemplate(self):
         """Test create VM, Snapshot and Template
         """
@@ -1176,7 +1176,7 @@ class TestSnapshotEvents(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_05_snapshot_events(self):
         """Test snapshot events
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_snapshots_improvement.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_snapshots_improvement.py b/test/integration/component/test_snapshots_improvement.py
index 77c240d..52979c4 100644
--- a/test/integration/component/test_snapshots_improvement.py
+++ b/test/integration/component/test_snapshots_improvement.py
@@ -183,7 +183,7 @@ class TestSnapshotOnRootVolume(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "provisioning"])
     def test_01_snapshot_on_rootVolume(self):
         """Test create VM with default cent os template and create snapshot
             on root disk of the vm

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py
index 4ba94bf..53ad7e2 100644
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@ -170,7 +170,7 @@ class TestDeployVM(cloudstackTestCase):
         except Exception as e:
             self.debug("Warning! Exception in tearDown: %s" % e)
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "selfservice"])
     def test_01_deploy_vm_no_startvm(self):
         """Test Deploy Virtual Machine with no startVM parameter
         """
@@ -220,7 +220,7 @@ class TestDeployVM(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_02_deploy_vm_startvm_true(self):
         """Test Deploy Virtual Machine with startVM=true parameter
         """
@@ -271,7 +271,7 @@ class TestDeployVM(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_03_deploy_vm_startvm_false(self):
         """Test Deploy Virtual Machine with startVM=false parameter
         """
@@ -363,7 +363,7 @@ class TestDeployVM(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_04_deploy_startvm_false_attach_volume(self):
         """Test Deploy Virtual Machine with startVM=false and attach volume
         """
@@ -429,7 +429,7 @@ class TestDeployVM(cloudstackTestCase):
             self.fail("Attach volume failed!")
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_05_deploy_startvm_false_change_so(self):
         """Test Deploy Virtual Machine with startVM=false and change service offering
         """
@@ -502,7 +502,7 @@ class TestDeployVM(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_06_deploy_startvm_attach_detach(self):
         """Test Deploy Virtual Machine with startVM=false and
             attach detach volumes
@@ -587,7 +587,7 @@ class TestDeployVM(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_07_deploy_startvm_attach_iso(self):
         """Test Deploy Virtual Machine with startVM=false and attach ISO
         """
@@ -678,7 +678,7 @@ class TestDeployVM(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_08_deploy_attached_volume(self):
         """Test Deploy Virtual Machine with startVM=false and attach volume already attached to different machine
         """
@@ -808,7 +808,7 @@ class TestDeployVM(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_09_stop_vm_migrate_vol(self):
         """Test Stopped Virtual Machine's ROOT volume migration
         """
@@ -1025,7 +1025,7 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
         except Exception as e:
             self.debug("Warning! Exception in tearDown: %s" % e)
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_01_deploy_ha_vm_startvm_false(self):
         """Test Deploy HA enabled Virtual Machine with startvm=false
         """
@@ -1074,7 +1074,7 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_02_deploy_ha_vm_from_iso(self):
         """Test Deploy HA enabled Virtual Machine from ISO
         """
@@ -1139,7 +1139,7 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_03_deploy_ha_vm_iso_startvm_false(self):
         """Test Deploy HA enabled Virtual Machine from ISO with startvm=false
         """
@@ -1256,7 +1256,7 @@ class TestRouterStateAfterDeploy(cloudstackTestCase):
         except Exception as e:
             self.debug("Warning! Exception in tearDown: %s" % e)
 
-    @attr(tags = ["advanced", "eip", "advancedns"])
+    @attr(tags=["advanced", "eip", "advancedns", "selfservice"])
     def test_01_deploy_vm_no_startvm(self):
         """Test Deploy Virtual Machine with no startVM parameter
         """
@@ -1556,7 +1556,7 @@ class TestDeployVMFromTemplate(cloudstackTestCase):
         except Exception as e:
             self.debug("Warning! Exception in tearDown: %s" % e)
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "provisioning"])
     def test_deploy_vm_password_enabled(self):
         """Test Deploy Virtual Machine with startVM=false & enabledpassword in
         template
@@ -1694,7 +1694,7 @@ class TestVMAccountLimit(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_vm_per_account(self):
         """Test VM limit per account
         """
@@ -1810,7 +1810,7 @@ class TestUploadAttachVolume(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "basic", "sg"])
+    @attr(tags=["advanced", "eip", "advancedns", "basic", "sg", "selfservice"])
     def test_upload_attach_volume(self):
         """Test Upload volume and attach to VM in stopped state
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_storage_motion.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_storage_motion.py b/test/integration/component/test_storage_motion.py
index 194ba97..e1fd40f 100644
--- a/test/integration/component/test_storage_motion.py
+++ b/test/integration/component/test_storage_motion.py
@@ -148,7 +148,7 @@ class TestStorageMotion(cloudstackTestCase):
         cleanup_resources(self.apiclient, self.cleanup)
         return
 
-    @attr(tags = ["advanced", "basic", "multicluster", "storagemotion", "xenserver"])
+    @attr(tags=["advanced", "basic", "multicluster", "storagemotion", "xenserver", "provisioning"])
     def test_01_migrate_vm_with_volume(self):
         """Test migrate virtual machine with its volumes
         """
@@ -226,7 +226,7 @@ class TestStorageMotion(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "basic", "multipool", "storagemotion", "xenserver"])
+    @attr(tags=["advanced", "basic", "multipool", "storagemotion", "xenserver", "selfservice"])
     def test_02_migrate_volume(self):
         """Test migrate volume of a running vm
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_tags.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_tags.py b/test/integration/component/test_tags.py
index 2a6e076..1e8667d 100644
--- a/test/integration/component/test_tags.py
+++ b/test/integration/component/test_tags.py
@@ -266,7 +266,7 @@ class TestResourceTags(cloudstackTestCase):
 
         return
     
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_01_lbrule_tag(self):
         """ Test Create tag on LB rule and remove the LB rule
         """
@@ -409,7 +409,7 @@ class TestResourceTags(cloudstackTestCase):
             self.fail("failed to delete load balancer rule! - %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_02_natrule_tag(self):
         """ Test Create tag on nat rule and remove the nat rule
         """
@@ -546,7 +546,7 @@ class TestResourceTags(cloudstackTestCase):
             self.fail("failed to delete port forwarding rule! - %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_03_firewallrule_tag(self):
         """ Test Create tag on firewall rule and remove the firewall rule
         """
@@ -689,7 +689,7 @@ class TestResourceTags(cloudstackTestCase):
             self.fail("failed to delete firewall rule! - %s" % e)
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_04_vpn_tag(self):
         """ Test Create tag on vpn and remove the vpn
         """
@@ -841,7 +841,7 @@ class TestResourceTags(cloudstackTestCase):
             self.fail("failed to disable VPN! - %s" % e)
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_05_vm_tag(self):
         """ Test creation, listing and deletion tags on UserVM
         """
@@ -918,7 +918,7 @@ class TestResourceTags(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_06_template_tag(self):
         """ Test creation, listing and deletion tag on templates
         """
@@ -1030,7 +1030,7 @@ class TestResourceTags(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_07_iso_tag(self):
         """ Test creation, listing and deletion tags on ISO
         """
@@ -1127,7 +1127,7 @@ class TestResourceTags(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_08_volume_tag(self):
         """ Test creation, listing and deletion tagson volume
         """
@@ -1216,7 +1216,7 @@ class TestResourceTags(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_09_snapshot_tag(self):
         """ Test creation, listing and deletion tag son snapshot
         """
@@ -1325,7 +1325,7 @@ class TestResourceTags(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_10_network_tag(self):
         """ Testcreation, listing and deletion tags on guest network
         """
@@ -1527,7 +1527,7 @@ class TestResourceTags(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     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"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     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"])
+    @attr(tags=["advanced", "selfservice"])
     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"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_16_query_tags_other_account(self):
         """ Test Query the tags from other account
         """
@@ -1861,7 +1861,7 @@ class TestResourceTags(cloudstackTestCase):
         
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_17_query_tags_admin_account(self):
         """ Test Query the tags from admin account
         """
@@ -1948,7 +1948,7 @@ class TestResourceTags(cloudstackTestCase):
         
         return
 
-    @attr(tags=["advanced", "basic", "simulator"])
+    @attr(tags=["advanced", "basic", "simulator", "selfservice"])
     def test_18_invalid_list_parameters(self):
         """ Test listAPI with invalid tags parameter
         """
@@ -1987,7 +1987,7 @@ class TestResourceTags(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_19_delete_add_same_tag(self):
         """ Test deletion and addition of same tag on a resource.
         """
@@ -2093,7 +2093,7 @@ class TestResourceTags(cloudstackTestCase):
             self.fail("Failed to delete the tag - %s" % e)
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_20_create_tags_multiple_resources(self):
         "Test creation of same tag on multiple resources"
 
@@ -2198,7 +2198,7 @@ class TestResourceTags(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_21_create_tag_stopped_vm(self):
         "Test creation of tag on stopped vm."
 
@@ -2275,7 +2275,7 @@ class TestResourceTags(cloudstackTestCase):
             self.fail("Failed to delete the tag - %s" % e)
         return
 
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_22_create_tag_destroyed_vm(self):
         "Test creation of tag on stopped vm."
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_templates.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_templates.py b/test/integration/component/test_templates.py
index 3e83615..1e612c2 100644
--- a/test/integration/component/test_templates.py
+++ b/test/integration/component/test_templates.py
@@ -156,7 +156,7 @@ class TestCreateTemplate(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "provisioning"])
     def test_01_create_template(self):
         """Test create public & private template
         """
@@ -382,7 +382,7 @@ class TestTemplates(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_01_create_template_volume(self):
         """Test Create template from volume
         """
@@ -422,7 +422,7 @@ class TestTemplates(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_03_delete_template(self):
         """Test Delete template
         """
@@ -479,7 +479,7 @@ class TestTemplates(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_04_template_from_snapshot(self):
         """Create Template from snapshot
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_update_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_update_vm.py b/test/integration/component/test_update_vm.py
index 0786310..6d84708 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'])
+    @attr(tags=['advanced', 'simulator', 'basic', 'sg', "selfservice"])
     def test_update_vm_name(self):
         """Test Update VirtualMachine Name
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_usage.py b/test/integration/component/test_usage.py
index 5979a0a..d18d2ea 100644
--- a/test/integration/component/test_usage.py
+++ b/test/integration/component/test_usage.py
@@ -178,7 +178,7 @@ class TestVmUsage(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", "simulator", "selfservice"])
     def test_01_vm_usage(self):
         """Test Create/Destroy VM and verify usage calculation
         """
@@ -370,7 +370,7 @@ class TestPublicIPUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_public_ip_usage(self):
         """Test Assign new IP and verify usage calculation
         """
@@ -518,7 +518,7 @@ class TestVolumeUsage(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", "simulator", "selfservice"])
     def test_01_volume_usage(self):
         """Test Create/delete a volume and verify correct usage is recorded
         """
@@ -700,7 +700,7 @@ class TestTemplateUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_01_template_usage(self):
         """Test Upload/ delete a template and verify correct usage is generated
             for the template uploaded
@@ -844,7 +844,7 @@ class TestISOUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "selfservice"])
     def test_01_ISO_usage(self):
         """Test Create/Delete a ISO and verify its usage is generated correctly
         """
@@ -996,7 +996,7 @@ class TestLBRuleUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_lb_usage(self):
         """Test Create/Delete a LB rule and verify correct usage is recorded
         """
@@ -1153,7 +1153,7 @@ class TestSnapshotUsage(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
+    @attr(tags=["advanced", "basic", "sg", "eip", "advancedns", "simulator", "selfservice"])
     def test_01_snapshot_usage(self):
         """Test Create/Delete a manual snap shot and verify
         correct usage is recorded
@@ -1325,7 +1325,7 @@ class TestNatRuleUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "simulator"])
+    @attr(tags=["advanced", "advancedns", "simulator", "selfservice"])
     def test_01_nat_usage(self):
         """Test Create/Delete a PF rule and verify correct usage is recorded
         """
@@ -1488,7 +1488,7 @@ class TestVpnUsage(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_01_vpn_usage(self):
         """Test Create/Delete a VPN and verify correct usage is recorded
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vmware_drs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vmware_drs.py b/test/integration/component/test_vmware_drs.py
index 6a99911..9a07d91 100644
--- a/test/integration/component/test_vmware_drs.py
+++ b/test/integration/component/test_vmware_drs.py
@@ -178,7 +178,7 @@ class TestVMPlacement(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "vmware", "multihost"])
+    @attr(tags=["advanced", "vmware", "multihost", "provisioning"])
     def test_vm_creation_in_fully_automated_mode(self):
         """ Test VM Creation in  automation mode = Fully automated
             This test requires following preconditions:
@@ -352,7 +352,7 @@ class TestAntiAffinityRules(cloudstackTestCase):
         except Exception as e:
             raise Exception("Error: Creation of Affinity Group failed : %s" %e)
 
-    @attr(tags = ["advanced", "vmware", "multihost"])
+    @attr(tags=["advanced", "vmware", "multihost", "provisioning"])
     def test_vmware_anti_affinity(self):
         """ Test Set up anti-affinity rules
 
@@ -587,7 +587,7 @@ class TestAffinityRules(cloudstackTestCase):
         except Exception as e:
             raise Exception("Error: Creation of Affinity Group failed : %s" %e)
 
-    @attr(tags = ["advanced", "vmware", "multihost"])
+    @attr(tags=["advanced", "vmware", "multihost", "provisioning"])
     def test_vmware_affinity(self):
         """ Test Set up affinity rules
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_volumes.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_volumes.py b/test/integration/component/test_volumes.py
index ee0f91d..bcf552a 100644
--- a/test/integration/component/test_volumes.py
+++ b/test/integration/component/test_volumes.py
@@ -923,7 +923,7 @@ class TestVolumes(cloudstackTestCase):
         cleanup_resources(self.apiclient, self.cleanup)
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_01_attach_volume(self):
         """Attach a created Volume to a Running VM
         """
@@ -1006,7 +1006,7 @@ class TestVolumes(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_02_detach_volume(self):
         """Detach a Volume attached to a VM
         """
@@ -1053,7 +1053,7 @@ class TestVolumes(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "advancedns"])
+    @attr(tags=["advanced", "advancedns", "selfservice"])
     def test_03_delete_detached_volume(self):
         """Delete a Volume unattached to an VM
         """
@@ -1080,7 +1080,7 @@ class TestVolumes(cloudstackTestCase):
                     )
         return
 
-    @attr(tags=["advanced", "advancedns", "simulator", "basic", "eip", "sg"])
+    @attr(tags=["advanced", "advancedns", "simulator", "basic", "eip", "sg", "selfservice"])
     def test_create_volume_under_domain(self):
         """Create a volume under a non-root domain as non-root-domain user
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc.py b/test/integration/component/test_vpc.py
index 1af8d81..5c55cb6 100644
--- a/test/integration/component/test_vpc.py
+++ b/test/integration/component/test_vpc.py
@@ -286,7 +286,7 @@ class TestVPC(cloudstackTestCase):
         return
 
     #list_vpc_apis should be the first case otherwise the vpc counts would be wrong
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_01_list_vpc_apis(self):
         """ Test list VPC APIs
         """
@@ -465,7 +465,7 @@ class TestVPC(cloudstackTestCase):
                             )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_02_restart_vpc_no_networks(self):
         """ Test restart VPC having no networks
         """
@@ -496,7 +496,7 @@ class TestVPC(cloudstackTestCase):
         self.validate_vpc_network(vpc, state='Enabled')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_03_restart_vpc_with_networks(self):
         """ Test restart VPC having networks
         """
@@ -581,7 +581,7 @@ class TestVPC(cloudstackTestCase):
         self.validate_vpc_network(vpc, state='Enabled')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_04_delete_vpc_no_networks(self):
         """ Test delete VPC having no networks
         """
@@ -621,7 +621,7 @@ class TestVPC(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_05_delete_vpc_with_networks(self):
         """ Test delete VPC having networks
         """
@@ -752,7 +752,7 @@ class TestVPC(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_06_list_vpc_apis_admin(self):
         """ Test list VPC APIs for different user roles
         """
@@ -812,7 +812,7 @@ class TestVPC(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "intervlan", "multiple"])
+    @attr(tags=["advanced", "intervlan", "multiple", "provisioning"])
     def test_07_restart_network_vm_running(self):
         """ Test Restart VPC when there are multiple networks associated
         """
@@ -1161,7 +1161,7 @@ class TestVPC(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_08_delete_vpc(self):
         """ Test vpc deletion after account deletion
         """
@@ -1527,7 +1527,7 @@ class TestVPC(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_09_vpc_create(self):
         """ Test to create vpc and verify VPC state, VR and SourceNatIP
         """
@@ -1588,7 +1588,7 @@ class TestVPC(cloudstackTestCase):
              "Source Nat IP address was not allocated to VR"
             )
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_10_nonoverlaping_cidrs(self):
         """ Test creation of multiple VPCs with non-overlapping CIDRs
         """
@@ -1640,7 +1640,7 @@ class TestVPC(cloudstackTestCase):
             assert("VPC created with overlapping CIDR")
         return
     
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_11_deploy_vm_wo_network_netdomain(self):
         """ Test deployment of vm in a VPC without network domain
         """
@@ -1794,7 +1794,7 @@ class TestVPC(cloudstackTestCase):
                           (vm_domain, expected_netdomain)
                         )
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_12_deploy_vm_with_netdomain(self):
         """ Test deployment of vm in a VPC with network domain
         """
@@ -1849,7 +1849,7 @@ class TestVPC(cloudstackTestCase):
                                 networkdomain='test.netdomain'
                                 )
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_13_deploy_vm_with_vpc_netdomain(self):
         """ Test deployment of vm in a VPC with network domain
         """
@@ -1914,7 +1914,7 @@ class TestVPC(cloudstackTestCase):
 
         self.validate_vm_netdomain(virtual_machine, vpc, network, netdomain)
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_14_deploy_vm_1(self):
         """ Test vm deploy in network by a user where VPC was created without account/domain ID
         """
@@ -1990,7 +1990,7 @@ class TestVPC(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     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
         """
@@ -2071,7 +2071,7 @@ class TestVPC(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_16_deploy_vm_for_user_by_admin(self):
         """ Test deployment of vm in a network by root admin for user.
         """
@@ -2148,7 +2148,7 @@ class TestVPC(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_17_deploy_vm_for_user_by_domain_admin(self):
         """ Test deployment of vm in a network by domain admin for user.
         """
@@ -2202,7 +2202,7 @@ class TestVPC(cloudstackTestCase):
                              zoneid=self.zone.id,
                              )
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_18_create_net_for_user_diff_domain_by_doadmin(self):
         """ Test creation of network by domain admin for user from different domain
         """
@@ -2279,7 +2279,7 @@ class TestVPC(cloudstackTestCase):
                                 vpcid=vpc.id
                                 )
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_19_create_vpc_wo_params(self):
         """ Test creation of VPC without mandatory parameters
         """
@@ -2339,7 +2339,7 @@ class TestVPC(cloudstackTestCase):
                              domainid=self.account.domainid
                              )
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_20_update_vpc_name_display_text(self):
         """ Test to verify updation of vpc name and display text
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_network.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_network.py b/test/integration/component/test_vpc_network.py
index c393401..6f280b8 100644
--- a/test/integration/component/test_vpc_network.py
+++ b/test/integration/component/test_vpc_network.py
@@ -695,7 +695,7 @@ class TestVPCNetwork(cloudstackTestCase):
         return
 
     @unittest.skip("skipped - RvR didn't support VPC currently ")
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "NA"])
     def test_06_create_network_with_rvr(self):
         """ Test create network with redundant router capability
         """
@@ -769,7 +769,7 @@ class TestVPCNetwork(cloudstackTestCase):
         self.debug("Network creation failed")
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_07_create_network_unsupported_services(self):
         """ Test create network services not supported by VPC (Should fail)
         """
@@ -836,7 +836,7 @@ class TestVPCNetwork(cloudstackTestCase):
         self.debug("Network creation failed as VPC doesn't have LB service")
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_08_create_network_without_sourceNAT(self):
         """ Test create network without sourceNAT service in VPC (should fail)
         """
@@ -1186,7 +1186,7 @@ class TestVPCNetworkRanges(cloudstackTestCase):
             "Network creation failed as network cidr range is outside of vpc")
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_02_create_network_outside_range(self):
         """ Test create network outside cidr range of VPC
         """
@@ -1645,7 +1645,7 @@ class TestVPCNetworkUpgrade(cloudstackTestCase):
         self.debug("VPC network validated - %s" % network.name)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_01_network_services_upgrade(self):
         """ Test update Network that is part of a VPC to a network offering that has more services
         """
@@ -2007,7 +2007,7 @@ class TestVPCNetworkUpgrade(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
         """
@@ -2341,7 +2341,7 @@ class TestVPCNetworkGc(cloudstackTestCase):
         self.debug("VPC network validated - %s" % network.name)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_01_wait_network_gc(self):
         """ Test network gc after shutdown of vms in the network
         """
@@ -2367,7 +2367,7 @@ class TestVPCNetworkGc(cloudstackTestCase):
         self.assertEqual(lbrules, None, "LBrules were not cleared after network GC thread is run")
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_02_start_vm_network_gc(self):
         """ Test network rules after starting a VpcVr that was shutdown after network.gc
         """
@@ -2441,7 +2441,7 @@ class TestVPCNetworkGc(cloudstackTestCase):
                          )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     def test_03_restart_vpcvr(self):
         """ Test Stop all the Vms that are part of the a Network
             (Wait for network GC).Restart VPCVR.

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/91a5e3bb/test/integration/component/test_vpc_network_lbrules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_network_lbrules.py b/test/integration/component/test_vpc_network_lbrules.py
index d623fb9..9d75550 100644
--- a/test/integration/component/test_vpc_network_lbrules.py
+++ b/test/integration/component/test_vpc_network_lbrules.py
@@ -507,7 +507,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
         return nwacl_internet_1
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_01_VPC_LBRulesListing(self):
         """ Test case no 210 and 227: List Load Balancing Rules belonging to a VPC
         """
@@ -555,7 +555,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
                         )
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -580,7 +580,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -616,7 +616,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
         return    
 
-    @attr(tags=["advanced","advancedns", "intervlan"])
+    @attr(tags=["advanced","advancedns", "intervlan", "provisioning"])
     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
@@ -646,7 +646,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -677,7 +677,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -714,7 +714,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=True)
         return    
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -747,7 +747,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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
@@ -780,7 +780,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
         return
     
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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.
         """
@@ -818,7 +818,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
             self.debug('Failed to Create LB rule vm_3 and vm_4')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     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.
         """
@@ -855,7 +855,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
             self.debug('Failed to Create LB rule vm_3 and vm_4 in network2')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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.
@@ -893,7 +893,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
             self.debug('Failed to Create LB rule vm_3 and vm_1')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_12_VPC_LBRuleCreateFailForRouterIP(self):
         """ Test User should not be allowed to create a LB rule on an Ipaddress that Source Nat enabled.
         """
@@ -921,7 +921,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
             self.debug('Failed to Create LB rule vm_2 and vm_1')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "provisioning"])
     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.
         """
@@ -951,7 +951,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
             self.debug('Failed to Create LB rule vm_2 and vm_1')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     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.
         """
@@ -980,7 +980,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
             self.debug('Failed to Create LB rule vm_2 and vm_1')
         return
 
-    @attr(tags=["advanced", "intervlan"])
+    @attr(tags=["advanced", "intervlan", "selfservice"])
     def test_15_VPC_ReleaseIPForLBRuleCreated(self):
         """ Test release Ip address that has a LB rule assigned to it.
         """


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

Posted by ta...@apache.org.
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"""