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:09:58 UTC

[4/4] git commit: updated refs/heads/4.4 to 1479678

CLOUDSTACK-6125: added smoke tests with following tags 1. selfservice - tests which can be run on simulator. 2. provisioning - tests that need actual hypervisor resource.

Signed-off-by: SrikanteswaraRao Talluri <ta...@apache.org>


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

Branch: refs/heads/4.4
Commit: 14796783fd3f838218c85d35ca7aed26d4a586b1
Parents: 5f5416a
Author: SrikanteswaraRao Talluri <ta...@apache.org>
Authored: Tue Mar 25 15:32:43 2014 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Fri Mar 28 15:39:22 2014 +0530

----------------------------------------------------------------------
 .../smoke/test_VirtualRouter_alerts.py          |  2 +-
 test/integration/smoke/test_affinity_groups.py  |  2 +-
 .../smoke/test_deploy_vgpu_enabled_vm.py        |  2 +-
 test/integration/smoke/test_deploy_vm.py        |  4 ++--
 .../smoke/test_deploy_vm_root_resize.py         |  6 +++---
 .../smoke/test_deploy_vm_with_userdata.py       |  4 ++--
 ...deploy_vms_with_varied_deploymentplanners.py |  6 +++---
 test/integration/smoke/test_disk_offerings.py   | 17 +++++++++--------
 test/integration/smoke/test_global_settings.py  |  2 +-
 test/integration/smoke/test_guest_vlan_range.py |  5 +++--
 test/integration/smoke/test_hosts.py            | 11 ++++++-----
 test/integration/smoke/test_internal_lb.py      |  6 +++---
 test/integration/smoke/test_iso.py              | 15 ++++++++-------
 test/integration/smoke/test_loadbalance.py      |  6 +++---
 .../smoke/test_multipleips_per_nic.py           |  3 ++-
 test/integration/smoke/test_network.py          | 14 +++++++-------
 test/integration/smoke/test_network_acl.py      |  3 ++-
 test/integration/smoke/test_nic.py              |  3 ++-
 .../smoke/test_non_contigiousvlan.py            |  2 +-
 .../integration/smoke/test_over_provisioning.py |  2 +-
 .../integration/smoke/test_portable_publicip.py |  4 ++--
 test/integration/smoke/test_primary_storage.py  |  4 ++--
 test/integration/smoke/test_privategw_acl.py    |  3 ++-
 test/integration/smoke/test_public_ip_range.py  |  2 +-
 test/integration/smoke/test_pvlan.py            |  2 +-
 test/integration/smoke/test_regions.py          |  2 +-
 .../smoke/test_reset_vm_on_reboot.py            |  3 ++-
 test/integration/smoke/test_resource_detail.py  |  2 +-
 test/integration/smoke/test_routers.py          | 18 +++++++++---------
 test/integration/smoke/test_scale_vm.py         |  2 +-
 .../integration/smoke/test_secondary_storage.py |  4 ++--
 .../integration/smoke/test_service_offerings.py |  8 ++++----
 test/integration/smoke/test_snapshots.py        |  2 +-
 test/integration/smoke/test_ssvm.py             | 20 ++++++++++----------
 test/integration/smoke/test_templates.py        | 16 ++++++++--------
 test/integration/smoke/test_vm_iam.py           | 18 +++++++++---------
 test/integration/smoke/test_vm_life_cycle.py    | 19 +++++++++++--------
 test/integration/smoke/test_vm_snapshots.py     |  6 +++---
 test/integration/smoke/test_volumes.py          | 18 +++++++++---------
 test/integration/smoke/test_vpc_vpn.py          |  4 ++--
 40 files changed, 142 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_VirtualRouter_alerts.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_VirtualRouter_alerts.py b/test/integration/smoke/test_VirtualRouter_alerts.py
index 2333d84..caa9fc5 100644
--- a/test/integration/smoke/test_VirtualRouter_alerts.py
+++ b/test/integration/smoke/test_VirtualRouter_alerts.py
@@ -156,7 +156,7 @@ class TestVRServiceFailureAlerting(cloudstackTestCase):
         return
 
     @attr(hypervisor="xenserver")
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "provisioning"])
     def test_01_VRServiceFailureAlerting(self):
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_affinity_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_affinity_groups.py b/test/integration/smoke/test_affinity_groups.py
index c96a580..b118364 100644
--- a/test/integration/smoke/test_affinity_groups.py
+++ b/test/integration/smoke/test_affinity_groups.py
@@ -108,7 +108,7 @@ class TestDeployVmWithAffinityGroup(cloudstackTestCase):
         ]
         return
 
-    @attr(tags=["simulator", "basic", "advanced", "multihost"])
+    @attr(tags=["simulator", "basic", "advanced", "multihost", "selfservice"])
     def test_DeployVmAntiAffinityGroup(self):
         """
         test DeployVM in anti-affinity groups

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vgpu_enabled_vm.py b/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
index a09e87e..32c6189 100644
--- a/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
+++ b/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
@@ -146,7 +146,7 @@ class TestDeployvGPUenabledVM(cloudstackTestCase):
             self.account
         ]
 
-    @attr(tags = ['advanced', 'simulator', 'basic', 'vgpu'])
+    @attr(tags = ['advanced', 'simulator', 'basic', 'vgpu', 'provisioning'])
     def test_deploy_vgpu_enabled_vm(self):
         """Test Deploy Virtual Machine
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_deploy_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vm.py b/test/integration/smoke/test_deploy_vm.py
index fcde229..9f3633c 100644
--- a/test/integration/smoke/test_deploy_vm.py
+++ b/test/integration/smoke/test_deploy_vm.py
@@ -101,7 +101,7 @@ class TestDeployVM(cloudstackTestCase):
             self.account
         ]
 
-    @attr(tags = ['advanced', 'simulator', 'basic', 'sg'])
+    @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'selfservice'])
     def test_deploy_vm(self):
         """Test Deploy Virtual Machine
 
@@ -154,7 +154,7 @@ class TestDeployVM(cloudstackTestCase):
             msg="VM is not in Running state"
         )
 
-    @attr(tags = ['advanced', 'simulator', 'basic', 'sg'])
+    @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'selfservice'])
     def test_deploy_vm_multiple(self):
         """Test Multiple Deploy Virtual Machine
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_deploy_vm_root_resize.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vm_root_resize.py b/test/integration/smoke/test_deploy_vm_root_resize.py
index e17d2df..aa88beb 100644
--- a/test/integration/smoke/test_deploy_vm_root_resize.py
+++ b/test/integration/smoke/test_deploy_vm_root_resize.py
@@ -98,7 +98,7 @@ class TestDeployVM(cloudstackTestCase):
             self.account
         ]
 
-    @attr(tags = ['advanced', 'simulator', 'basic', 'sg'])
+    @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'provisioning'])
     def test_00_deploy_vm_root_resize(self):
         """Test deploy virtual machine with root resize
 
@@ -197,7 +197,7 @@ class TestDeployVM(cloudstackTestCase):
 
             self.assertEqual(success, True, "Check if unsupported hypervisor %s fails appropriately" % self.apiclient.hypervisor)
 
-    @attr(tags = ['advanced', 'simulator', 'basic', 'sg'])
+    @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'provisioning'])
     def test_01_deploy_vm_root_resize(self):
         """Test proper failure to deploy virtual machine with rootdisksize of 0 
         """
@@ -225,7 +225,7 @@ class TestDeployVM(cloudstackTestCase):
         else:
             self.debug("test 01 does not support hypervisor type " + self.apiclient.hypervisor);
 
-    @attr(tags = ['advanced', 'simulator', 'basic', 'sg'])
+    @attr(tags = ['advanced', 'simulator', 'basic', 'sg', 'provisioning'])
     def test_02_deploy_vm_root_resize(self):
         """Test proper failure to deploy virtual machine with rootdisksize less than template size
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_deploy_vm_with_userdata.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vm_with_userdata.py b/test/integration/smoke/test_deploy_vm_with_userdata.py
index e3788cf..b8be83a 100644
--- a/test/integration/smoke/test_deploy_vm_with_userdata.py
+++ b/test/integration/smoke/test_deploy_vm_with_userdata.py
@@ -92,7 +92,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
         user_data = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(2500))
         cls.services["virtual_machine"]["userdata"] = user_data
 
-    @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
         """
@@ -117,7 +117,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
         self.assert_(vm.id == str(deployVmResponse.id), "Vm deployed is different from the test")
         self.assert_(vm.state == "Running", "VM is not in Running state")
 
-    @attr(tags=["simulator", "devcloud", "basic", "advanced"])
+    @attr(tags=["simulator", "devcloud", "basic", "advanced", "provisioning"])
     def test_deployvm_userdata(self):
         """Test userdata as GET, size > 2k
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py b/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
index b4d35e0..fc11549 100644
--- a/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
+++ b/test/integration/smoke/test_deploy_vms_with_varied_deploymentplanners.py
@@ -82,7 +82,7 @@ class TestDeployVmWithVariedPlanners(cloudstackTestCase):
             cls.account
         ]
 
-    @attr(tags=["simulator", "advanced", "basic", "sg"])
+    @attr(tags=["simulator", "advanced", "basic", "sg", "selfservice"])
     def test_deployvm_firstfit(self):
         """Test to deploy vm with a first fit offering
         """
@@ -126,7 +126,7 @@ class TestDeployVmWithVariedPlanners(cloudstackTestCase):
             msg="VM is not in Running state"
         )
 
-    @attr(tags=["simulator", "advanced", "basic", "sg"])
+    @attr(tags=["simulator", "advanced", "basic", "sg", "selfservice"])
     def test_deployvm_userdispersing(self):
         """Test deploy VMs using user dispersion planner
         """
@@ -185,7 +185,7 @@ class TestDeployVmWithVariedPlanners(cloudstackTestCase):
             self.debug("VMs (%s, %s) meant to be dispersed are deployed in the same cluster %s" % (
             vm1.id, vm2.id, vm1clusterid))
 
-    @attr(tags=["simulator", "advanced", "basic", "sg"])
+    @attr(tags=["simulator", "advanced", "basic", "sg", "selfservice"])
     def test_deployvm_userconcentrated(self):
         """Test deploy VMs using user concentrated planner
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_disk_offerings.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_disk_offerings.py b/test/integration/smoke/test_disk_offerings.py
index 4588a26..4c8a34c 100644
--- a/test/integration/smoke/test_disk_offerings.py
+++ b/test/integration/smoke/test_disk_offerings.py
@@ -58,14 +58,14 @@ class TestCreateDiskOffering(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke", "selfservice"])
     def test_01_create_disk_offering(self):
-        """Test to create disk offering"""
+        """Test to create disk offering
 
         # Validate the following:
         # 1. createDiskOfferings should return valid info for new offering
         # 2. The Cloud Database contains the valid information
-
+        """
         disk_offering = DiskOffering.create(
                                         self.apiclient,
                                         self.services["off"]
@@ -144,15 +144,16 @@ class TestDiskOfferings(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke", "selfservice"])
     def test_02_edit_disk_offering(self):
-        """Test to update existing disk offering"""
+        """Test to update existing disk offering
 
         # Validate the following:
         # 1. updateDiskOffering should return
         #    a valid information for newly created offering
 
         #Generate new name & displaytext from random data
+        """
         random_displaytext = random_gen()
         random_name = random_gen()
 
@@ -195,14 +196,14 @@ class TestDiskOfferings(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "simulator", "smoke", "selfservice"])
     def test_03_delete_disk_offering(self):
-        """Test to delete disk offering"""
+        """Test to delete disk offering
 
         # Validate the following:
         # 1. deleteDiskOffering should return
         #    a valid information for newly created offering
-
+        """
         self.disk_offering_2.delete(self.apiclient)
 
         self.debug("Deleted Disk offering with ID: %s" % 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_global_settings.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_global_settings.py b/test/integration/smoke/test_global_settings.py
index 5cd3654..f94cf94 100644
--- a/test/integration/smoke/test_global_settings.py
+++ b/test/integration/smoke/test_global_settings.py
@@ -32,7 +32,7 @@ class TestUpdateConfigWithScope(cloudstackTestCase):
     def setUp(self):
         self.apiClient = self.testClient.getApiClient()
 
-    @attr(tags=["simulator", "devcloud", "basic", "advanced"])
+    @attr(tags=["simulator", "devcloud", "basic", "advanced", "selfservice"])
     def test_UpdateConfigParamWithScope(self):
         """
         test update configuration setting at zone level scope

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_guest_vlan_range.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_guest_vlan_range.py b/test/integration/smoke/test_guest_vlan_range.py
index 07e141d..27225a5 100644
--- a/test/integration/smoke/test_guest_vlan_range.py
+++ b/test/integration/smoke/test_guest_vlan_range.py
@@ -99,13 +99,14 @@ class TestDedicateGuestVlanRange(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["simulator", "advanced", "guestvlanrange", "dedicate", "release"])
+    @attr(tags=["simulator", "advanced", "guestvlanrange", "dedicate", "release", "selfservice"])
     def test_dedicateGuestVlanRange(self):
         """Test guest vlan range dedication
         """
 
         """Assume a physical network is available
         """
+        """
         # Validate the following:
         # 1. List the available physical network using ListPhysicalNetwork
         # 2. Add a Guest Vlan range to the available physical network using UpdatePhysicalNetwork
@@ -114,7 +115,7 @@ class TestDedicateGuestVlanRange(cloudstackTestCase):
         # 5. Release the dedicated guest vlan range back to the system
         # 6. Verify guest vlan range has been released, verify with listDedicatedGuestVlanRanges
         # 7. Remove the added guest vlan range using UpdatePhysicalNetwork
-
+        """
         self.debug("Adding guest vlan range")
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_hosts.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_hosts.py b/test/integration/smoke/test_hosts.py
index 6f7d400..0810bac 100644
--- a/test/integration/smoke/test_hosts.py
+++ b/test/integration/smoke/test_hosts.py
@@ -118,18 +118,19 @@ class TestHosts(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @unittest.skip("skipped - our environments will not add hosts")
+    @attr(tags=["selfservice"])
     def test_01_clusters(self):
-        """Test Add clusters & hosts - XEN, KVM, VWARE
-        """
+        """Test Add clusters & hosts - simulator
+
 
         # Validate the following:
-        # 1. Verify hypervisortype returned by API is Xen/KVM/VWare
+        # 1. Verify hypervisortype returned by API is Simulator/Xen/KVM/VWare
         # 2. Verify that the cluster is in 'Enabled' allocation state
         # 3. Verify that the host is added successfully and in Up state
         #    with listHosts API response
 
-        #Create clusters with Hypervisor type XEN/KVM/VWare
+        #Create clusters with Hypervisor type Simulator/XEN/KVM/VWare
+        """
         for k, v in self.services["clusters"].items():
             cluster = Cluster.create(
                                      self.apiclient,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_internal_lb.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_internal_lb.py b/test/integration/smoke/test_internal_lb.py
index 7510169..875df04 100644
--- a/test/integration/smoke/test_internal_lb.py
+++ b/test/integration/smoke/test_internal_lb.py
@@ -103,12 +103,12 @@ class TestInternalLb(cloudstackTestCase):
                           cls.account.id))
         cls.cleanup = [cls.account]
 
-    @attr(tags=["smoke", "advanced"])
+    @attr(tags=["smoke", "advanced", "provisioning"])
     def test_internallb(self):
         """Test create, delete, assign, remove of internal loadbalancer
+           #1) Create and enable network offering with Internal Lb vm service
         """
-
-        #1) Create and enable network offering with Internal Lb vm service
+        #TODO: SIMENH:modify this test to verify lb rules by sending request from another tier
         self.networkOffering = NetworkOffering.create(self.apiclient, self.services["network_offering"], conservemode=False)
         self.networkOffering.update(self.apiclient, state="Enabled")
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_iso.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_iso.py b/test/integration/smoke/test_iso.py
index 75289b8..5312d71 100644
--- a/test/integration/smoke/test_iso.py
+++ b/test/integration/smoke/test_iso.py
@@ -83,7 +83,8 @@ class Services:
 
 
 class TestCreateIso(cloudstackTestCase):
-
+#TODO: SIMENH: check the existence of registered of ISO in secondary deploy a VM with registered ISO. can be added \
+# as another test
     def setUp(self):
         self.services = Services().services
         self.apiclient = self.testClient.getApiClient()
@@ -125,7 +126,7 @@ class TestCreateIso(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "selfservice"])
     def test_01_create_iso(self):
         """Test create public & private ISO
         """
@@ -279,7 +280,7 @@ class TestISO(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "selfservice"])
     def test_02_edit_iso(self):
         """Test Edit ISO
         """
@@ -344,7 +345,7 @@ class TestISO(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "selfservice"])
     def test_03_delete_iso(self):
         """Test delete ISO
         """
@@ -372,7 +373,7 @@ class TestISO(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "provisioning"])
     def test_04_extract_Iso(self):
         "Test for extract ISO"
 
@@ -423,7 +424,7 @@ class TestISO(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "selfservice"])
     def test_05_iso_permissions(self):
         """Update & Test for ISO permissions"""
 
@@ -475,7 +476,7 @@ class TestISO(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "multizone"])
+    @attr(tags = ["advanced", "basic", "eip", "sg", "advancedns", "smoke", "multizone", "provisioning"])
     def test_06_copy_iso(self):
         """Test for copy ISO from one zone to another"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_loadbalance.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_loadbalance.py b/test/integration/smoke/test_loadbalance.py
index 5f80c38..46eb7d4 100644
--- a/test/integration/smoke/test_loadbalance.py
+++ b/test/integration/smoke/test_loadbalance.py
@@ -211,7 +211,7 @@ class TestLoadBalance(cloudstackTestCase):
         time.sleep(self.services["lb_switch_wait"])
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_01_create_lb_rule_src_nat(self):
         """Test to create Load balancing rule with source NAT"""
 
@@ -371,7 +371,7 @@ class TestLoadBalance(cloudstackTestCase):
             self.try_ssh(src_nat_ip_addr.ipaddress, hostnames)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_02_create_lb_rule_non_nat(self):
         """Test to create Load balancing rule with non source NAT"""
 
@@ -489,7 +489,7 @@ class TestLoadBalance(cloudstackTestCase):
             self.try_ssh(self.non_src_nat_ip.ipaddress.ipaddress, hostnames)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_assign_and_removal_lb(self):
         """Test for assign & removing load balancing rule"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_multipleips_per_nic.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_multipleips_per_nic.py b/test/integration/smoke/test_multipleips_per_nic.py
index 7d18064..0c6c02a 100644
--- a/test/integration/smoke/test_multipleips_per_nic.py
+++ b/test/integration/smoke/test_multipleips_per_nic.py
@@ -150,8 +150,9 @@ class TestDeployVM(cloudstackTestCase):
             msg="VM is not in Running state"
         )
 
-    @attr(tags = ['advanced', 'simulator', 'basic'])
+    @attr(tags = ['advanced', 'simulator', 'basic', "provisioning"])
     def test_nic_secondaryip_add_remove(self):
+    #TODO: SIMENH: add verification
         list_vms = VirtualMachine.list(self.apiclient, id=self.virtual_machine.id)
         vm = list_vms[0]
         nicid = vm.nic[0].id

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_network.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_network.py b/test/integration/smoke/test_network.py
index 732fe15..2cdcfa2 100644
--- a/test/integration/smoke/test_network.py
+++ b/test/integration/smoke/test_network.py
@@ -187,7 +187,7 @@ class TestPublicIP(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_public_ip_admin_account(self):
         """Test for Associate/Disassociate public IP address for admin account"""
 
@@ -237,7 +237,7 @@ class TestPublicIP(cloudstackTestCase):
                     )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_public_ip_user_account(self):
         """Test for Associate/Disassociate public IP address for user account"""
 
@@ -347,7 +347,7 @@ class TestPortForwarding(cloudstackTestCase):
         cleanup_resources(self.apiclient, self.cleanup)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_01_port_fwd_on_src_nat(self):
         """Test for port forwarding on source NAT"""
 
@@ -470,7 +470,7 @@ class TestPortForwarding(cloudstackTestCase):
                                             )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_02_port_fwd_on_non_src_nat(self):
         """Test for port forwarding on non source NAT"""
 
@@ -680,7 +680,7 @@ class TestRebootRouter(cloudstackTestCase):
                         ]
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_reboot_router(self):
         """Test for reboot router"""
 
@@ -835,7 +835,7 @@ class TestReleaseIP(cloudstackTestCase):
     def tearDown(self):
         cleanup_resources(self.apiclient, self.cleanup)
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_releaseIP(self):
         """Test for release public IP address"""
 
@@ -960,7 +960,7 @@ class TestDeleteAccount(cloudstackTestCase):
         self.cleanup = []
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_delete_account(self):
         """Test for delete account"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_network_acl.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_network_acl.py b/test/integration/smoke/test_network_acl.py
index 3363e46..69134e5 100644
--- a/test/integration/smoke/test_network_acl.py
+++ b/test/integration/smoke/test_network_acl.py
@@ -100,8 +100,9 @@ class TestNetworkACL(cloudstackTestCase):
                           cls.account.id))
         cls.cleanup = [cls.account]
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "provisioning"])
     def test_network_acl(self):
+        #TODO: SIMENH: add actual verification Logic for rules.
         """Test network ACL lists and items in VPC"""
 
         # 0) Get the default network offering for VPC

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_nic.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_nic.py b/test/integration/smoke/test_nic.py
index ac95685..4ba905a 100644
--- a/test/integration/smoke/test_nic.py
+++ b/test/integration/smoke/test_nic.py
@@ -224,8 +224,9 @@ class TestNic(cloudstackTestCase):
         except Exception as ex:
             self.debug("Exception during NIC test SETUP!: " + str(ex))
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_01_nic(self):
+        #TODO: SIMENH: add validation
         """Test to add and update added nic to a virtual machine"""
 
         try:

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_non_contigiousvlan.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_non_contigiousvlan.py b/test/integration/smoke/test_non_contigiousvlan.py
index f1736ae..2f23add 100644
--- a/test/integration/smoke/test_non_contigiousvlan.py
+++ b/test/integration/smoke/test_non_contigiousvlan.py
@@ -32,7 +32,7 @@ class Services():
         }
 
 
-@attr(tags = ["simulator", "advanced"])
+@attr(tags = ["simulator", "advanced", "selfservice"])
 class TestUpdatePhysicalNetwork(cloudstackTestCase):
     """
     Test to extend physical network vlan range

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_over_provisioning.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_over_provisioning.py b/test/integration/smoke/test_over_provisioning.py
index 28f32b7af..7d10fc7 100644
--- a/test/integration/smoke/test_over_provisioning.py
+++ b/test/integration/smoke/test_over_provisioning.py
@@ -32,7 +32,7 @@ class TestUpdateOverProvision(cloudstackTestCase):
     def setUp(self):
         self.apiClient = self.testClient.getApiClient()
 
-    @attr(tags=["simulator", "devcloud", "basic", "advanced"])
+    @attr(tags=["simulator", "devcloud", "basic", "advanced", "selfservice"])
     def test_UpdateStorageOverProvisioningFactor(self):
         """
         test update configuration setting at storage scope

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_portable_publicip.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_portable_publicip.py b/test/integration/smoke/test_portable_publicip.py
index 0faed71..efbd483 100644
--- a/test/integration/smoke/test_portable_publicip.py
+++ b/test/integration/smoke/test_portable_publicip.py
@@ -135,7 +135,7 @@ class TestPortablePublicIPRange(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["simulator", "basic", "advanced",  "portablepublicip"])
+    @attr(tags = ["simulator", "basic", "advanced",  "portablepublicip", "selfservice"])
     def test_createPortablePublicIPRange(self):
         """ Test to create a portable public ip range
         """
@@ -219,7 +219,7 @@ class TestPortablePublicIPAcquire(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["simulator", "advanced",  "portablepublicip"])
+    @attr(tags = ["simulator", "advanced",  "portablepublicip", "selfservice"])
     def test_createPortablePublicIPAcquire(self):
         """ Test to acquire a provisioned public ip range
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_primary_storage.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_primary_storage.py b/test/integration/smoke/test_primary_storage.py
index 5cf31b1..7113966 100644
--- a/test/integration/smoke/test_primary_storage.py
+++ b/test/integration/smoke/test_primary_storage.py
@@ -70,7 +70,7 @@ class TestPrimaryStorageServices(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_01_primary_storage_nfs(self):
         """Test primary storage pools - XEN, KVM, VMWare
         """
@@ -163,7 +163,7 @@ class TestPrimaryStorageServices(cloudstackTestCase):
             return
 
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_01_primary_storage_iscsi(self):
         """Test primary storage pools - XEN, KVM, VMWare
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_privategw_acl.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_privategw_acl.py b/test/integration/smoke/test_privategw_acl.py
index 9c37e5e..ec5ef8b 100644
--- a/test/integration/smoke/test_privategw_acl.py
+++ b/test/integration/smoke/test_privategw_acl.py
@@ -39,8 +39,9 @@ class TestPrivateGwACL(cloudstackTestCase):
         self.privateGwId = None
 
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_privategw_acl(self):
+        #TODO: SIMENH: add a new test to verification of ACL rules
 
         # 1) Create VPC
         self.createVPC()

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_public_ip_range.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_public_ip_range.py b/test/integration/smoke/test_public_ip_range.py
index e1d78d9..759e107 100644
--- a/test/integration/smoke/test_public_ip_range.py
+++ b/test/integration/smoke/test_public_ip_range.py
@@ -96,7 +96,7 @@ class TestDedicatePublicIPRange(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["simulator", "advanced", "publiciprange", "dedicate", "release"])
+    @attr(tags = ["simulator", "advanced", "publiciprange", "dedicate", "release", "selfservice"])
     def test_dedicatePublicIpRange(self):
         """Test public IP range dedication
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_pvlan.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_pvlan.py b/test/integration/smoke/test_pvlan.py
index aeb47f9..09b12cc 100644
--- a/test/integration/smoke/test_pvlan.py
+++ b/test/integration/smoke/test_pvlan.py
@@ -41,7 +41,7 @@ class TestPVLAN(cloudstackTestCase):
     def setUp(self):
         self.apiClient = self.testClient.getApiClient()
 
-    @attr(tags = ["advanced"])
+    @attr(tags = ["advanced", "selfservice"])
     def test_create_pvlan_network(self):
         self.debug("Test create pvlan network")
         createNetworkCmd = createNetwork.createNetworkCmd()

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_regions.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_regions.py b/test/integration/smoke/test_regions.py
index 5d12e74..71900b4 100644
--- a/test/integration/smoke/test_regions.py
+++ b/test/integration/smoke/test_regions.py
@@ -44,7 +44,7 @@ class TestRegions(cloudstackTestCase):
         cls.domain = get_domain(cls.api_client, cls.services)
         cls.cleanup = []
 
-    @attr(tags=["simulator", "basic", "advanced"])
+    @attr(tags=["simulator", "basic", "advanced", "selfservice"])
     def test_createRegion(self):
         """ Test for create region
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_reset_vm_on_reboot.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_reset_vm_on_reboot.py b/test/integration/smoke/test_reset_vm_on_reboot.py
index 4e52f0f..6cb63e3 100644
--- a/test/integration/smoke/test_reset_vm_on_reboot.py
+++ b/test/integration/smoke/test_reset_vm_on_reboot.py
@@ -146,8 +146,9 @@ class TestResetVmOnReboot(cloudstackTestCase):
         return
 
     @attr(hypervisor="xenserver")
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "selfservice"])
     def test_01_reset_vm_on_reboot(self):
+    #TODO: SIMENH: add new test to check volume contents
         """Test reset virtual machine on reboot
         """
         # Validate the following

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_resource_detail.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_resource_detail.py b/test/integration/smoke/test_resource_detail.py
index 00a7b5c..a0cac9b 100644
--- a/test/integration/smoke/test_resource_detail.py
+++ b/test/integration/smoke/test_resource_detail.py
@@ -156,7 +156,7 @@ class TestResourceDetail(cloudstackTestCase):
         cleanup_resources(self.apiclient, self.cleanup)
         return
 
-    @attr(tags = ["advanced", "xenserver"])
+    @attr(tags = ["advanced", "xenserver", "selfservice"])
     def test_01_updatevolumedetail(self):
         """Test volume detail 
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_routers.py b/test/integration/smoke/test_routers.py
index 7d32413..2bd1d5e 100644
--- a/test/integration/smoke/test_routers.py
+++ b/test/integration/smoke/test_routers.py
@@ -130,7 +130,7 @@ class TestRouterServices(cloudstackTestCase):
         self.apiclient = self.testClient.getApiClient()
         return
 
-    @attr(tags = ["advanced", "basic", "sg", "smoke"])
+    @attr(tags = ["advanced", "basic", "sg", "smoke", "provisioning"])
     def test_01_router_internal_basic(self):
         """Test router internal basic zone
         """
@@ -218,7 +218,7 @@ class TestRouterServices(cloudstackTestCase):
 
 
 
-    @attr(tags = ["advanced", "smoke"])
+    @attr(tags = ["advanced", "smoke", "provisioning"])
     def test_02_router_internal_adv(self):
         """Test router internal advanced zone
         """
@@ -326,7 +326,7 @@ class TestRouterServices(cloudstackTestCase):
         self.debug("Haproxy process status: %s" % res)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_03_restart_network_cleanup(self):
         """Test restart network
         """
@@ -404,7 +404,7 @@ class TestRouterServices(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_04_restart_network_wo_cleanup(self):
         """Test restart network without cleanup
         """
@@ -520,7 +520,7 @@ class TestRouterServices(cloudstackTestCase):
                                 )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_05_router_basic(self):
         """Test router basic setup
         """
@@ -586,7 +586,7 @@ class TestRouterServices(cloudstackTestCase):
                             )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_06_router_advanced(self):
         """Test router advanced setup
         """
@@ -669,7 +669,7 @@ class TestRouterServices(cloudstackTestCase):
                             )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_07_stop_router(self):
         """Test stop router
         """
@@ -713,7 +713,7 @@ class TestRouterServices(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_08_start_router(self):
         """Test start router
         """
@@ -758,7 +758,7 @@ class TestRouterServices(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_09_reboot_router(self):
         """Test reboot router
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_scale_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_scale_vm.py b/test/integration/smoke/test_scale_vm.py
index 1d1726d..8b73efe 100644
--- a/test/integration/smoke/test_scale_vm.py
+++ b/test/integration/smoke/test_scale_vm.py
@@ -159,7 +159,7 @@ class TestScaleVm(cloudstackTestCase):
         return
 
     @attr(hypervisor="xenserver")
-    @attr(tags=["advanced", "basic"])
+    @attr(tags=["advanced", "basic", "provisioning"])
     def test_01_scale_vm(self):
         """Test scale virtual machine 
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_secondary_storage.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_secondary_storage.py b/test/integration/smoke/test_secondary_storage.py
index ff9692f..b36b10e 100644
--- a/test/integration/smoke/test_secondary_storage.py
+++ b/test/integration/smoke/test_secondary_storage.py
@@ -81,7 +81,7 @@ class TestSecStorageServices(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
     def test_01_sys_vm_start(self):
         """Test system VM start
         """
@@ -160,7 +160,7 @@ class TestSecStorageServices(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
     def test_02_sys_template_ready(self):
         """Test system templates are ready
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_service_offerings.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_service_offerings.py b/test/integration/smoke/test_service_offerings.py
index 968dc56..70865b4 100644
--- a/test/integration/smoke/test_service_offerings.py
+++ b/test/integration/smoke/test_service_offerings.py
@@ -133,7 +133,7 @@ class TestCreateServiceOffering(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg"])
+    @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
     def test_01_create_service_offering(self):
         """Test to create service offering"""
 
@@ -280,7 +280,7 @@ class TestServiceOfferings(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg"])
+    @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
     def test_02_edit_service_offering(self):
         """Test to update existing service offering"""
 
@@ -331,7 +331,7 @@ class TestServiceOfferings(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg"])
+    @attr(tags=["advanced", "advancedns", "smoke", "basic", "eip", "sg", "selfservice"])
     def test_03_delete_service_offering(self):
         """Test to delete service offering"""
 
@@ -357,7 +357,7 @@ class TestServiceOfferings(cloudstackTestCase):
 
         return
 
-    @attr(tags=["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
     def test_04_change_offering_small(self):
         """Test to change service to a small capacity
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_snapshots.py b/test/integration/smoke/test_snapshots.py
index 6ee7c62..8b33452 100644
--- a/test/integration/smoke/test_snapshots.py
+++ b/test/integration/smoke/test_snapshots.py
@@ -196,7 +196,7 @@ class TestSnapshotRootDisk(cloudstackTestCase):
         return
 
     @attr(speed = "slow")
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "provisioning"])
     def test_01_snapshot_root_disk(self):
         """Test Snapshot Root Disk
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_ssvm.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_ssvm.py b/test/integration/smoke/test_ssvm.py
index a2b9eab..cf40907 100644
--- a/test/integration/smoke/test_ssvm.py
+++ b/test/integration/smoke/test_ssvm.py
@@ -60,7 +60,7 @@ class TestSSVMs(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_01_list_sec_storage_vm(self):
         """Test List secondary storage VMs
         """
@@ -178,7 +178,7 @@ class TestSSVMs(cloudstackTestCase):
                             )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_02_list_cpvm_vm(self):
         """Test List console proxy VMs
         """
@@ -290,7 +290,7 @@ class TestSSVMs(cloudstackTestCase):
                             )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_03_ssvm_internals(self):
         """Test SSVM Internals"""
 
@@ -403,7 +403,7 @@ class TestSSVMs(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_04_cpvm_internals(self):
         """Test CPVM Internals"""
 
@@ -486,7 +486,7 @@ class TestSSVMs(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_05_stop_ssvm(self):
         """Test stop SSVM
         """
@@ -562,7 +562,7 @@ class TestSSVMs(cloudstackTestCase):
         self.test_03_ssvm_internals()
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_06_stop_cpvm(self):
         """Test stop CPVM
         """
@@ -635,7 +635,7 @@ class TestSSVMs(cloudstackTestCase):
         self.test_04_cpvm_internals()
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_07_reboot_ssvm(self):
         """Test reboot SSVM
         """
@@ -721,7 +721,7 @@ class TestSSVMs(cloudstackTestCase):
         self.test_03_ssvm_internals()
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_08_reboot_cpvm(self):
         """Test reboot CPVM
         """
@@ -808,7 +808,7 @@ class TestSSVMs(cloudstackTestCase):
         self.test_04_cpvm_internals()
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_09_destroy_ssvm(self):
         """Test destroy SSVM
         """
@@ -890,7 +890,7 @@ class TestSSVMs(cloudstackTestCase):
         self.test_03_ssvm_internals()
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_10_destroy_cpvm(self):
         """Test destroy CPVM
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_templates.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_templates.py b/test/integration/smoke/test_templates.py
index e371ad4..32b3696 100644
--- a/test/integration/smoke/test_templates.py
+++ b/test/integration/smoke/test_templates.py
@@ -219,7 +219,7 @@ class TestCreateTemplate(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "selfservice"])
     def test_01_create_template(self):
         """Test create public & private template
         """
@@ -438,7 +438,7 @@ class TestTemplates(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_02_edit_template(self):
         """Test Edit template
         """
@@ -521,7 +521,7 @@ class TestTemplates(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_03_delete_template(self):
         """Test delete template
         """
@@ -550,7 +550,7 @@ class TestTemplates(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_04_extract_template(self):
         "Test for extract template"
 
@@ -601,7 +601,7 @@ class TestTemplates(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_05_template_permissions(self):
         """Update & Test for template permissions"""
 
@@ -654,7 +654,7 @@ class TestTemplates(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multizone"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multizone", "provisioning"])
     def test_06_copy_template(self):
         """Test for copy template from one zone to another"""
 
@@ -745,7 +745,7 @@ class TestTemplates(cloudstackTestCase):
         self.apiclient.deleteTemplate(cmd)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_07_list_public_templates(self):
         """Test only public templates are visible to normal user"""
 
@@ -777,7 +777,7 @@ class TestTemplates(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_08_list_system_templates(self):
         """Test System templates are not visible to normal user"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_vm_iam.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vm_iam.py b/test/integration/smoke/test_vm_iam.py
index 29e587b..80c049b 100644
--- a/test/integration/smoke/test_vm_iam.py
+++ b/test/integration/smoke/test_vm_iam.py
@@ -280,7 +280,7 @@ class TestVMIam(cloudstackTestCase):
 
     
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_01_list_own_vm(self):
         #  listVM command should return owne's VM
 
@@ -357,7 +357,7 @@ class TestVMIam(cloudstackTestCase):
                 
         return
         
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_02_grant_domain_vm(self):
  
         # Validate the following
@@ -406,7 +406,7 @@ class TestVMIam(cloudstackTestCase):
         return
 
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_03_grant_account_vm(self):
  
         # Validate the following
@@ -459,7 +459,7 @@ class TestVMIam(cloudstackTestCase):
         return
 
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_04_revoke_account_vm(self):
  
         # Validate the following
@@ -502,7 +502,7 @@ class TestVMIam(cloudstackTestCase):
         return
     
     
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_05_revoke_domain_vm(self):
  
         # Validate the following
@@ -543,7 +543,7 @@ class TestVMIam(cloudstackTestCase):
          
         return    
     
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_06_grant_resource_vm(self):
  
         # Validate the following
@@ -590,7 +590,7 @@ class TestVMIam(cloudstackTestCase):
                 
         return    
     
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_07_revoke_resource_vm(self):
  
         # Validate the following
@@ -632,7 +632,7 @@ class TestVMIam(cloudstackTestCase):
         return      
     
     
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_08_policy_attach_account(self):
  
         # Validate the following
@@ -680,7 +680,7 @@ class TestVMIam(cloudstackTestCase):
                 
         return     
     
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_09_policy_detach_account(self):
  
         # Validate the following

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_vm_life_cycle.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vm_life_cycle.py b/test/integration/smoke/test_vm_life_cycle.py
index c164f59..7d47f70 100644
--- a/test/integration/smoke/test_vm_life_cycle.py
+++ b/test/integration/smoke/test_vm_life_cycle.py
@@ -258,6 +258,7 @@ class TestDeployVM(cloudstackTestCase):
 
     @attr(tags = ["simulator", "advanced"])
     def test_advZoneVirtualRouter(self):
+        #TODO: SIMENH: duplicate test, remove it
         """
         Test advanced zone virtual router
         1. Is Running
@@ -280,6 +281,7 @@ class TestDeployVM(cloudstackTestCase):
     @attr(hypervisor = ["simulator"])
     @attr(mode = ["basic"])
     def test_basicZoneVirtualRouter(self):
+        #TODO: SIMENH: duplicate test, remove it
         """
         Tests for basic zone virtual router
         1. Is Running
@@ -393,7 +395,7 @@ class TestVMLifeCycle(cloudstackTestCase):
         return
 
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_01_stop_vm(self):
         """Test Stop Virtual Machine
         """
@@ -429,7 +431,7 @@ class TestVMLifeCycle(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_02_start_vm(self):
         """Test Start Virtual Machine
         """
@@ -467,7 +469,7 @@ class TestVMLifeCycle(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_03_reboot_vm(self):
         """Test Reboot Virtual Machine
         """
@@ -504,7 +506,7 @@ class TestVMLifeCycle(cloudstackTestCase):
         return
 
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_06_destroy_vm(self):
         """Test destroy Virtual Machine
         """
@@ -540,8 +542,9 @@ class TestVMLifeCycle(cloudstackTestCase):
                         )
         return
 
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_07_restore_vm(self):
+        #TODO: SIMENH: add another test the data on the restored VM.
         """Test recover Virtual Machine
         """
 
@@ -580,7 +583,7 @@ class TestVMLifeCycle(cloudstackTestCase):
 
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multihost"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "multihost", "selfservice"])
     def test_08_migrate_vm(self):
         """Test migrate VM
         """
@@ -667,7 +670,7 @@ class TestVMLifeCycle(cloudstackTestCase):
 
     @attr(configuration = "expunge.interval")
     @attr(configuration = "expunge.delay")
-    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["devcloud", "advanced", "advancedns", "smoke", "basic", "sg", "selfservice"])
     def test_09_expunge_vm(self):
         """Test destroy(expunge) Virtual Machine
         """
@@ -716,7 +719,7 @@ class TestVMLifeCycle(cloudstackTestCase):
                     )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg", "provisioning"])
     def test_10_attachAndDetach_iso(self):
         """Test for attach and detach ISO to virtual machine"""
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_vm_snapshots.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vm_snapshots.py b/test/integration/smoke/test_vm_snapshots.py
index b49a37c..65a5acb 100644
--- a/test/integration/smoke/test_vm_snapshots.py
+++ b/test/integration/smoke/test_vm_snapshots.py
@@ -150,7 +150,7 @@ class TestVmSnapshot(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
     def test_01_create_vm_snapshots(self):
         """Test to create VM snapshots
         """
@@ -194,7 +194,7 @@ class TestVmSnapshot(cloudstackTestCase):
         )
         return
 
-    @attr(tags=["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
     def test_02_revert_vm_snapshots(self):
         """Test to revert VM snapshots
         """
@@ -281,7 +281,7 @@ class TestVmSnapshot(cloudstackTestCase):
             "Check the random data is equal with the ramdom file!"
         )
 
-    @attr(tags=["advanced", "advancedns", "smoke"])
+    @attr(tags=["advanced", "advancedns", "smoke", "provisioning"])
     def test_03_delete_vm_snapshots(self):
         """Test to delete vm snapshots
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_volumes.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_volumes.py b/test/integration/smoke/test_volumes.py
index 719c824..411ecf1 100644
--- a/test/integration/smoke/test_volumes.py
+++ b/test/integration/smoke/test_volumes.py
@@ -150,7 +150,7 @@ class TestCreateVolume(cloudstackTestCase):
         self.dbclient = self.testClient.getDbConnection()
         self.cleanup = []
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
     def test_01_create_volume(self):
         """Test Volume creation for all Disk Offerings (incl. custom)
         """
@@ -368,7 +368,7 @@ class TestVolumes(cloudstackTestCase):
         cleanup_resources(self.apiClient, self.cleanup)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
     def test_02_attach_volume(self):
         """Attach a created Volume to a Running VM
         """
@@ -414,7 +414,7 @@ class TestVolumes(cloudstackTestCase):
                                     (self.virtual_machine.ipaddress, e))
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
     def test_03_download_attached_volume(self):
         """Download a Volume attached to a VM
         """
@@ -436,7 +436,7 @@ class TestVolumes(cloudstackTestCase):
         with self.assertRaises(Exception):
             self.apiClient.extractVolume(cmd)
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
     def test_04_delete_attached_volume(self):
         """Delete a Volume attached to a VM
         """
@@ -457,7 +457,7 @@ class TestVolumes(cloudstackTestCase):
         with self.assertRaises(Exception):
             self.apiClient.deleteVolume(cmd)
         
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
     def test_05_detach_volume(self):
         """Detach a Volume attached to a VM
         """
@@ -499,7 +499,7 @@ class TestVolumes(cloudstackTestCase):
                          )
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
     def test_06_download_detached_volume(self):
         """Download a Volume unattached to an VM
         """
@@ -536,7 +536,7 @@ class TestVolumes(cloudstackTestCase):
                 % (extract_vol.url, self.volume.id)
             )
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "selfservice"])
     def test_07_resize_fail(self):
         """Test resize (negative) non-existent volume"""
         # Verify the size is the new size is what we wanted it to be.
@@ -650,7 +650,7 @@ class TestVolumes(cloudstackTestCase):
         return 
 
 
-    @attr(tags = ["advanced", "advancedns", "smoke", "basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke", "basic", "provisioning"])
     def test_08_resize_volume(self):
         """Test resize a volume"""
         # Verify the size is the new size is what we wanted it to be.
@@ -752,7 +752,7 @@ class TestVolumes(cloudstackTestCase):
             time.sleep(30)
         return
 
-    @attr(tags = ["advanced", "advancedns", "smoke","basic"])
+    @attr(tags = ["advanced", "advancedns", "smoke","basic", "selfservice"])
     def test_09_delete_detached_volume(self):
         """Delete a Volume unattached to an VM
         """

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/14796783/test/integration/smoke/test_vpc_vpn.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_vpc_vpn.py b/test/integration/smoke/test_vpc_vpn.py
index 5e97c79..0e94e25 100644
--- a/test/integration/smoke/test_vpc_vpn.py
+++ b/test/integration/smoke/test_vpc_vpn.py
@@ -125,7 +125,7 @@ class TestVpcRemoteAccessVpn(cloudstackTestCase):
         )
         cls.cleanup = [cls.account]
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_vpc_remote_access_vpn(self):
         """Test VPN in VPC"""
 
@@ -227,7 +227,7 @@ class TestVpcSite2SiteVpn(cloudstackTestCase):
         )
         cls.cleanup = [cls.account]
 
-    @attr(tags=["advanced"])
+    @attr(tags=["advanced", "selfservice"])
     def test_vpc_site2site_vpn(self):
         """Test VPN in VPC"""