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

[18/18] git commit: updated refs/heads/4.4 to 798a6aa

Marvin + test changes from master Signed-off-by: SrikanteswaraRao Talluri <ta...@apache.org>

Signed-off-by: SrikanteswaraRao Talluri <ta...@apache.org>
(cherry picked from commit 404ac549bfd84e97c756009f214e74cdb73548de)

Conflicts:
	test/integration/smoke/test_vm_iam.py
	tools/marvin/marvin/deployDataCenter.py
	tools/marvin/marvin/lib/base.py


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

Branch: refs/heads/4.4
Commit: 798a6aa2e3fd47368b6ba94483f42e9658ad9835
Parents: 8fb89cd
Author: SrikanteswaraRao Talluri <ta...@apache.org>
Authored: Mon Apr 28 14:55:11 2014 +0530
Committer: Daan Hoogland <da...@onecht.net>
Committed: Mon Jul 28 17:40:56 2014 +0200

----------------------------------------------------------------------
 .../maint/test_egress_rules_host_maintenance.py |   20 +-
 .../component/maint/test_high_availability.py   |   26 +-
 .../maint/test_host_high_availability.py        |   36 +-
 .../component/maint/test_multiple_ip_ranges.py  |   20 +-
 .../component/maint/test_redundant_router.py    |   70 +-
 ...test_redundant_router_deployment_planning.py |   17 +-
 .../test_redundant_router_network_rules.py      |   17 +-
 .../maint/test_vpc_host_maintenance.py          |   21 +-
 .../maint/test_vpc_on_host_maintenance.py       |   17 +-
 .../component/test_VirtualRouter_alerts.py      |   22 +-
 test/integration/component/test_accounts.py     |  141 +-
 .../component/test_add_remove_network.py        |  118 +-
 .../component/test_advancedsg_networks.py       |   71 +-
 .../component/test_affinity_groups.py           |  115 +-
 .../component/test_allocation_states.py         |   39 +-
 test/integration/component/test_asa1000v_fw.py  |   18 +-
 test/integration/component/test_assign_vm.py    |   39 +-
 test/integration/component/test_baremetal.py    |   28 +-
 .../component/test_base_image_updation.py       |   22 +-
 test/integration/component/test_blocker_bugs.py |   74 +-
 .../component/test_cpu_domain_limits.py         |   38 +-
 test/integration/component/test_cpu_limits.py   |   35 +-
 .../component/test_cpu_max_limits.py            |   25 +-
 .../component/test_cpu_project_limits.py        |   17 +-
 .../component/test_custom_hostname.py           |   44 +-
 .../component/test_deploy_vm_userdata_reg.py    |   19 +-
 .../component/test_dynamic_compute_offering.py  |   44 +-
 .../component/test_egress_fw_rules.py           |   19 +-
 test/integration/component/test_egress_rules.py |  126 +-
 test/integration/component/test_eip_elb.py      |   22 +-
 test/integration/component/test_escalations.py  | 8230 ++++++++++++++++++
 .../component/test_explicit_dedication.py       |   15 +-
 test/integration/component/test_haproxy.py      |   15 +-
 .../component/test_implicit_planner.py          |   15 +-
 .../component/test_ip_reservation.py            |  109 +-
 test/integration/component/test_ldap.py         |    6 +-
 .../integration/component/test_memory_limits.py |   32 +-
 .../component/test_mm_domain_limits.py          |   36 +-
 .../integration/component/test_mm_max_limits.py |   23 +-
 .../component/test_mm_project_limits.py         |   17 +-
 .../component/test_multiple_ip_ranges.py        |   28 +-
 .../component/test_multiple_ips_per_nic.py      |  490 +-
 .../component/test_netscaler_configs.py         |  116 +-
 test/integration/component/test_netscaler_lb.py |  116 +-
 .../component/test_netscaler_lb_algo.py         |  106 +-
 .../component/test_netscaler_lb_sticky.py       |   17 +-
 .../component/test_netscaler_nw_off.py          |   82 +-
 .../component/test_network_offering.py          |   39 +-
 .../component/test_non_contiguous_vlan.py       |   22 +-
 .../component/test_persistent_networks.py       |  112 +-
 test/integration/component/test_portable_ip.py  |  142 +-
 .../component/test_project_configs.py           |   62 +-
 .../component/test_project_limits.py            |   35 +-
 .../component/test_project_resources.py         |   69 +-
 .../integration/component/test_project_usage.py |  102 +-
 test/integration/component/test_projects.py     |  109 +-
 .../component/test_recurring_snapshots.py       |   16 +-
 .../component/test_redundant_router_cleanups.py |   17 +-
 .../component/test_redundant_router_services.py |   17 +-
 .../component/test_redundant_router_upgrades.py |   17 +-
 test/integration/component/test_region_vpc.py   |   38 +-
 test/integration/component/test_regions.py      |    8 +-
 .../component/test_regions_accounts.py          |    8 +-
 .../component/test_reset_ssh_keypair.py         |   24 +-
 .../component/test_resource_limits.py           |   33 +-
 test/integration/component/test_routers.py      |   45 +-
 .../component/test_security_groups.py           |   59 +-
 .../component/test_shared_networks.py           |   17 +-
 test/integration/component/test_snapshot_gc.py  |   16 +-
 .../component/test_snapshot_limits.py           |   16 +-
 test/integration/component/test_snapshots.py    |   34 +-
 .../component/test_snapshots_improvement.py     |   26 +-
 test/integration/component/test_stopped_vm.py   |   99 +-
 .../component/test_storage_motion.py            |   15 +-
 test/integration/component/test_tags.py         |   34 +-
 test/integration/component/test_templates.py    |   31 +-
 test/integration/component/test_update_vm.py    |   12 +-
 test/integration/component/test_usage.py        |   78 +-
 .../component/test_vm_passwdenabled.py          |   18 +-
 test/integration/component/test_vmware_drs.py   |   61 +-
 test/integration/component/test_volumes.py      |   60 +-
 test/integration/component/test_vpc.py          |   49 +-
 .../test_vpc_distributed_routing_offering.py    |   35 +-
 test/integration/component/test_vpc_network.py  |   54 +-
 .../component/test_vpc_network_lbrules.py       |   17 +-
 .../component/test_vpc_network_pfrules.py       |   17 +-
 .../component/test_vpc_network_staticnatrule.py |   17 +-
 .../integration/component/test_vpc_offerings.py |   17 +-
 test/integration/component/test_vpc_routers.py  |  200 +-
 .../component/test_vpc_vm_life_cycle.py         |   61 +-
 .../component/test_vpc_vms_deployment.py        |   17 +-
 test/integration/component/test_vpn_users.py    |   23 +-
 test/integration/smoke/test_affinity_groups.py  |   85 +-
 .../smoke/test_deploy_vgpu_enabled_vm.py        |   18 +-
 test/integration/smoke/test_deploy_vm.py        |   60 +-
 .../smoke/test_deploy_vm_root_resize.py         |   29 +-
 .../smoke/test_deploy_vm_with_userdata.py       |   60 +-
 ...deploy_vms_with_varied_deploymentplanners.py |   56 +-
 test/integration/smoke/test_disk_offerings.py   |  125 +-
 test/integration/smoke/test_global_settings.py  |    6 +-
 test/integration/smoke/test_guest_vlan_range.py |   39 +-
 test/integration/smoke/test_hosts.py            |   88 +-
 test/integration/smoke/test_internal_lb.py      |   79 +-
 test/integration/smoke/test_iso.py              |  125 +-
 test/integration/smoke/test_loadbalance.py      |  126 +-
 .../smoke/test_multipleips_per_nic.py           |   50 +-
 test/integration/smoke/test_network.py          |  230 +-
 test/integration/smoke/test_network_acl.py      |   74 +-
 test/integration/smoke/test_nic.py              |  118 +-
 .../smoke/test_non_contigiousvlan.py            |    4 +-
 .../integration/smoke/test_over_provisioning.py |   29 +-
 .../integration/smoke/test_portable_publicip.py |  110 +-
 test/integration/smoke/test_primary_storage.py  |   31 +-
 test/integration/smoke/test_privategw_acl.py    |    6 +-
 test/integration/smoke/test_public_ip_range.py  |   50 +-
 test/integration/smoke/test_pvlan.py            |   18 +-
 test/integration/smoke/test_regions.py          |   35 +-
 .../smoke/test_reset_vm_on_reboot.py            |   86 +-
 test/integration/smoke/test_resource_detail.py  |   95 +-
 test/integration/smoke/test_routers.py          |   90 +-
 test/integration/smoke/test_scale_vm.py         |   97 +-
 .../integration/smoke/test_secondary_storage.py |   12 +-
 .../integration/smoke/test_service_offerings.py |  136 +-
 test/integration/smoke/test_snapshots.py        |  135 +-
 test/integration/smoke/test_ssvm.py             |   34 +-
 test/integration/smoke/test_templates.py        |  175 +-
 test/integration/smoke/test_vm_ha.py            |    6 +-
 test/integration/smoke/test_vm_iam.py           |  719 ++
 test/integration/smoke/test_vm_life_cycle.py    |  186 +-
 test/integration/smoke/test_vm_snapshots.py     |  106 +-
 test/integration/smoke/test_volumes.py          |  177 +-
 test/integration/smoke/test_vpc_vpn.py          |  112 +-
 tools/marvin/marvin/__init__.py                 |    2 +-
 tools/marvin/marvin/asyncJobMgr.py              |   12 +-
 tools/marvin/marvin/cloudstackConnection.py     |  476 +-
 tools/marvin/marvin/cloudstackException.py      |   19 +-
 tools/marvin/marvin/cloudstackTestCase.py       |    6 +-
 tools/marvin/marvin/cloudstackTestClient.py     |  550 +-
 tools/marvin/marvin/codegenerator.py            |   15 +-
 tools/marvin/marvin/codes.py                    |   21 +-
 tools/marvin/marvin/config/__init__.py          |   16 +
 tools/marvin/marvin/config/config.cfg           |   38 +-
 tools/marvin/marvin/config/test_data.cfg        |  427 +
 tools/marvin/marvin/config/test_data.py         |  629 ++
 tools/marvin/marvin/configGenerator.py          |  230 +-
 tools/marvin/marvin/dbConnection.py             |    9 +-
 tools/marvin/marvin/deployAndRun.py             |    6 +-
 tools/marvin/marvin/deployDataCenter.py         | 1530 ++--
 tools/marvin/marvin/integration/__init__.py     |   18 -
 tools/marvin/marvin/integration/lib/__init__.py |   16 -
 tools/marvin/marvin/integration/lib/base.py     | 3890 ---------
 tools/marvin/marvin/integration/lib/common.py   | 1036 ---
 tools/marvin/marvin/integration/lib/utils.py    |  453 -
 tools/marvin/marvin/jsonHelper.py               |    9 +-
 tools/marvin/marvin/lib/__init__.py             |   16 +
 tools/marvin/marvin/lib/base.py                 | 4086 +++++++++
 tools/marvin/marvin/lib/common.py               | 1062 +++
 tools/marvin/marvin/lib/utils.py                |  498 ++
 tools/marvin/marvin/marvinInit.py               |  250 +-
 tools/marvin/marvin/marvinLog.py                |  141 +-
 tools/marvin/marvin/marvinPlugin.py             |  308 +-
 tools/marvin/marvin/src/__init__.py             |   16 +
 tools/marvin/marvin/sshClient.py                |  142 +-
 tools/marvin/marvin/tcExecuteEngine.py          |   10 +-
 tools/marvin/marvin/testSetupSuccess.py         |    1 +
 tools/marvin/setup.py                           |   60 +-
 166 files changed, 21569 insertions(+), 11017 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_egress_rules_host_maintenance.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_egress_rules_host_maintenance.py b/test/integration/component/maint/test_egress_rules_host_maintenance.py
index 2b81787..a27ada3 100644
--- a/test/integration/component/maint/test_egress_rules_host_maintenance.py
+++ b/test/integration/component/maint/test_egress_rules_host_maintenance.py
@@ -23,9 +23,9 @@ from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
 from marvin.sshClient import SshClient
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
 
 #Import System modules
 import time
@@ -100,19 +100,17 @@ class TestEgressAfterHostMaintenance(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.services = Services().services
-        cls.api_client = super(
-                               TestEgressAfterHostMaintenance,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestEgressAfterHostMaintenance, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
 
+        cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         cls.pod = get_pod(
                           cls.api_client,
-                          zoneid=cls.zone.id
+                          zone_id=cls.zone.id
                           )
 
         template = get_template(

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_high_availability.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_high_availability.py b/test/integration/component/maint/test_high_availability.py
index 6ada659..cc687f8 100644
--- a/test/integration/component/maint/test_high_availability.py
+++ b/test/integration/component/maint/test_high_availability.py
@@ -23,9 +23,9 @@ import marvin
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
 from marvin.sshClient import SshClient
 import datetime
 
@@ -107,24 +107,16 @@ class TestHighAvailability(cloudstackTestCase):
     @classmethod
     def setUpClass(cls):
 
-        cls.api_client = super(
-                               TestHighAvailability,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestHighAvailability, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(
-                                cls.api_client,
-                                cls.services
-                            )
-        cls.zone = get_zone(
-                            cls.api_client,
-                            cls.services
-                            )
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.pod = get_pod(
                           cls.api_client,
-                          zoneid=cls.zone.id,
-                          services=cls.services
+                          zone_id=cls.zone.id
                           )
         cls.template = get_template(
                                     cls.api_client,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_host_high_availability.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_host_high_availability.py b/test/integration/component/maint/test_host_high_availability.py
index b4c50c7..4cd7fd8 100644
--- a/test/integration/component/maint/test_host_high_availability.py
+++ b/test/integration/component/maint/test_host_high_availability.py
@@ -21,9 +21,10 @@
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
+import time
 
 
 class Services:
@@ -76,20 +77,13 @@ class TestHostHighAvailability(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-            TestHostHighAvailability,
-            cls
-        ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestHostHighAvailability, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(
-            cls.api_client,
-            cls.services
-        )
-        cls.zone = get_zone(
-            cls.api_client,
-            cls.services
-        )
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
 
         cls.template = get_template(
             cls.api_client,
@@ -626,11 +620,7 @@ class TestHostHighAvailability(cloudstackTestCase):
 
         #verify the VM live migration happened to another running host
         self.debug("Waiting for VM to come up")
-        wait_for_vm(
-            self.apiclient,
-            virtualmachineid=vm_with_ha_enabled.id,
-            interval=timeout
-        )
+        time.sleep(timeout)
 
         vms = VirtualMachine.list(
             self.apiclient,
@@ -758,11 +748,7 @@ class TestHostHighAvailability(cloudstackTestCase):
 
         #verify the VM live migration happened to another running host
         self.debug("Waiting for VM to come up")
-        wait_for_vm(
-            self.apiclient,
-            virtualmachineid=vm_with_ha_disabled.id,
-            interval=timeout
-        )
+        time.sleep(timeout)
 
         vms = VirtualMachine.list(
             self.apiclient,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_multiple_ip_ranges.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_multiple_ip_ranges.py b/test/integration/component/maint/test_multiple_ip_ranges.py
index dc8021b..982dd7c 100644
--- a/test/integration/component/maint/test_multiple_ip_ranges.py
+++ b/test/integration/component/maint/test_multiple_ip_ranges.py
@@ -18,10 +18,10 @@
 """
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.cloudstackException import cloudstackAPIException
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
+from marvin.cloudstackException import CloudstackAPIException
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
 # from netaddr import *
 import netaddr
 from nose.plugins.attrib import attr
@@ -87,13 +87,15 @@ class TestMultipleIpRanges(cloudstackTestCase):
     """
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestMultipleIpRanges, cls).getClsTestClient().getApiClient()
-        cls.dbclient = super(TestMultipleIpRanges, cls).getClsTestClient().getDbConnection()
+        cls.testClient = super(TestEgressAfterHostMaintenance, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+        cls.dbclient = cls.testClient.getDbConnection()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
-        cls.pod = get_pod(cls.api_client, cls.zone.id, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+        cls.pod = get_pod(cls.api_client, cls.zone.id)
         cls.services['mode'] = cls.zone.networktype
         cls.services["domainid"] = cls.domain.id
         cls.services["zoneid"] = cls.zone.id

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_redundant_router.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_redundant_router.py b/test/integration/component/maint/test_redundant_router.py
index 617a546..66bb477 100644
--- a/test/integration/component/maint/test_redundant_router.py
+++ b/test/integration/component/maint/test_redundant_router.py
@@ -16,9 +16,9 @@
 # under the License.
 
 from nose.plugins.attrib import attr
-from marvin.integration.lib.base import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.common import *
+from marvin.lib.base import *
+from marvin.lib.utils import *
+from marvin.lib.common import *
 
 #Import Local Modules
 from marvin.cloudstackTestCase import cloudstackTestCase
@@ -137,14 +137,13 @@ class TestCreateRvRNetworkOffering(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestCreateRvRNetworkOffering,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestCreateRvRNetworkOffering, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls._cleanup = []
         return
 
@@ -231,14 +230,13 @@ class TestCreateRvRNetwork(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestCreateRvRNetwork,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestCreateRvRNetwork, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,
@@ -433,14 +431,13 @@ class TestCreateRvRNetworkNonDefaultGuestCidr(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestCreateRvRNetworkNonDefaultGuestCidr,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestCreateRvRNetworkNonDefaultGuestCidr, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,
@@ -642,14 +639,13 @@ class TestRVRInternals(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestRVRInternals,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestRVRInternals, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,
@@ -685,6 +681,7 @@ class TestRVRInternals(cloudstackTestCase):
 
     def setUp(self):
         self.apiclient = self.testClient.getApiClient()
+        self.hypervisor = self.testClient.getHypervisorInfo()
         self.dbclient = self.testClient.getDbConnection()
         self.account = Account.create(
                                      self.apiclient,
@@ -846,7 +843,7 @@ class TestRVRInternals(cloudstackTestCase):
         self.debug(master_router.linklocalip)
 
         # Check eth2 port for master router
-        if self.apiclient.hypervisor.lower() == 'vmware':
+        if self.hypervisor.lower() == 'vmware':
             result = get_process_status(
                                 self.apiclient.connection.mgtSvr,
                                 22,
@@ -854,7 +851,7 @@ class TestRVRInternals(cloudstackTestCase):
                                 self.apiclient.connection.passwd,
                                 master_router.linklocalip,
                                 'ip addr show eth2',
-                                hypervisor=self.apiclient.hypervisor
+                                hypervisor=self.hypervisor
                                 )
         else:
             result = get_process_status(
@@ -882,7 +879,7 @@ class TestRVRInternals(cloudstackTestCase):
                          )
 
         # Check eth2 port for backup router
-        if self.apiclient.hypervisor.lower() == 'vmware':
+        if self.hypervisor.lower() == 'vmware':
             result = get_process_status(
                                 self.apiclient.connection.mgtSvr,
                                 22,
@@ -890,7 +887,7 @@ class TestRVRInternals(cloudstackTestCase):
                                 self.apiclient.connction.passwd,
                                 backup_router.linklocalip,
                                 'ip addr show eth2',
-                                hypervisor=self.apiclient.hypervisor
+                                hypervisor=self.hypervisor
                                 )
         else:
             result = get_process_status(
@@ -945,14 +942,13 @@ class TestRvRRedundancy(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestRvRRedundancy,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestRvRRedundancy, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_redundant_router_deployment_planning.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_redundant_router_deployment_planning.py b/test/integration/component/maint/test_redundant_router_deployment_planning.py
index 879a4da..b63cda9 100644
--- a/test/integration/component/maint/test_redundant_router_deployment_planning.py
+++ b/test/integration/component/maint/test_redundant_router_deployment_planning.py
@@ -16,9 +16,9 @@
 # under the License.
 
 from nose.plugins.attrib import attr
-from marvin.integration.lib.base import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.common import *
+from marvin.lib.base import *
+from marvin.lib.utils import *
+from marvin.lib.common import *
 
 #Import Local Modules
 from marvin.cloudstackTestCase import cloudstackTestCase
@@ -136,14 +136,13 @@ class TestRvRDeploymentPlanning(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestRvRDeploymentPlanning,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestRvRDeploymentPlanning, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_redundant_router_network_rules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_redundant_router_network_rules.py b/test/integration/component/maint/test_redundant_router_network_rules.py
index 010aaaa..12c4d2c 100644
--- a/test/integration/component/maint/test_redundant_router_network_rules.py
+++ b/test/integration/component/maint/test_redundant_router_network_rules.py
@@ -16,9 +16,9 @@
 # under the License.
 
 from nose.plugins.attrib import attr
-from marvin.integration.lib.base import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.common import *
+from marvin.lib.base import *
+from marvin.lib.utils import *
+from marvin.lib.common import *
 
 #Import Local Modules
 from marvin.cloudstackTestCase import cloudstackTestCase
@@ -137,14 +137,13 @@ class TestRedundantRouterRulesLifeCycle(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestRedundantRouterRulesLifeCycle,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestRedundantRouterRulesLifeCycle, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_vpc_host_maintenance.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_vpc_host_maintenance.py b/test/integration/component/maint/test_vpc_host_maintenance.py
index 57dfb4b..83ba271 100644
--- a/test/integration/component/maint/test_vpc_host_maintenance.py
+++ b/test/integration/component/maint/test_vpc_host_maintenance.py
@@ -22,11 +22,9 @@ import marvin
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
-import datetime
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
 
 
 class Services:
@@ -190,14 +188,13 @@ class TestVMLifeCycleHostmaintenance(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestVMLifeCycleHostmaintenance,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestVMLifeCycleHostmaintenance, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
                             cls.api_client,
                             cls.zone.id,
@@ -554,4 +551,4 @@ class TestVMLifeCycleHostmaintenance(cloudstackTestCase):
                          "Router state should be running"
                          )
         #  TODO: Check for the network connectivity
-        return
\ No newline at end of file
+        return

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/maint/test_vpc_on_host_maintenance.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/test_vpc_on_host_maintenance.py b/test/integration/component/maint/test_vpc_on_host_maintenance.py
index 6630ee6..eb3360a 100644
--- a/test/integration/component/maint/test_vpc_on_host_maintenance.py
+++ b/test/integration/component/maint/test_vpc_on_host_maintenance.py
@@ -18,9 +18,9 @@
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
 
 
 class Services:
@@ -77,14 +77,13 @@ class TestVPCHostMaintenance(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-            TestVPCHostMaintenance,
-            cls
-        ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestVPCHostMaintenance, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(
             cls.api_client,
             cls.zone.id,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/test_VirtualRouter_alerts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_VirtualRouter_alerts.py b/test/integration/component/test_VirtualRouter_alerts.py
index 4b53e3f..e6f0a82 100644
--- a/test/integration/component/test_VirtualRouter_alerts.py
+++ b/test/integration/component/test_VirtualRouter_alerts.py
@@ -20,10 +20,11 @@
 import marvin
 from marvin.cloudstackTestCase import *
 from marvin.cloudstackAPI import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
 from nose.plugins.attrib import attr
+from marvin.codes import FAILED
 import time
 
 
@@ -96,12 +97,13 @@ class Services:
 class TestVRServiceFailureAlerting(cloudstackTestCase):
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestVRServiceFailureAlerting, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestVRServiceFailureAlerting, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
         cls.services = Services().services
 
         # Get Zone, Domain and templates
-        domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+        domain = get_domain(cls.api_client)
         cls.services['mode'] = cls.zone.networktype
 
         template = get_template(
@@ -109,6 +111,9 @@ class TestVRServiceFailureAlerting(cloudstackTestCase):
             cls.zone.id,
             cls.services["ostype"]
         )
+
+        if template == FAILED:
+            assert False, "get_template() failed to return template with description %s" % cls.services["ostype"]
         # Set Zones and disk offerings ??
         cls.services["small"]["zoneid"] = cls.zone.id
         cls.services["small"]["template"] = template.id
@@ -148,6 +153,7 @@ class TestVRServiceFailureAlerting(cloudstackTestCase):
     def setUp(self):
         self.apiclient = self.testClient.getApiClient()
         self.dbclient = self.testClient.getDbConnection()
+        self.hypervisor = self.testClient.getHypervisorInfo()
         self.cleanup = []
 
     def tearDown(self):
@@ -202,7 +208,7 @@ class TestVRServiceFailureAlerting(cloudstackTestCase):
 
         alertSubject = "Monitoring Service on VR " + router.name
 
-        if self.apiclient.hypervisor.lower() == 'vmware':
+        if self.hypervisor.lower() == 'vmware':
             result = get_process_status(
                         self.apiclient.connection.mgtSvr,
                         22,
@@ -210,7 +216,7 @@ class TestVRServiceFailureAlerting(cloudstackTestCase):
                         self.apiclient.connection.passwd,
                         router.linklocalip,
                         "service dnsmasq status",
-                        hypervisor=self.apiclient.hypervisor
+                        hypervisor=self.hypervisor
                         )
         else:
             try:

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/test_accounts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_accounts.py b/test/integration/component/test_accounts.py
index bee17fb..cf5f2b6 100644
--- a/test/integration/component/test_accounts.py
+++ b/test/integration/component/test_accounts.py
@@ -17,14 +17,32 @@
 """ P1 tests for Account
 """
 #Import Local Modules
-from marvin.cloudstackTestCase import *
-from marvin.cloudstackAPI import *
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
-from marvin.sshClient import SshClient
+from marvin.cloudstackTestCase import cloudstackTestCase
+#from marvin.cloudstackAPI import *
+from marvin.lib.utils import (random_gen,
+                              cleanup_resources)
+from marvin.lib.base import (Domain,
+                             Account,
+                             ServiceOffering,
+                             VirtualMachine,
+                             Network,
+                             User,
+                             NATRule,
+                             Template,
+                             PublicIPAddress)
+from marvin.lib.common import (get_domain,
+                               get_zone,
+                               get_template,
+                               list_accounts,
+                               list_virtual_machines,
+                               list_service_offering,
+                               list_templates,
+                               list_users,
+                               get_builtin_template_info,
+                               wait_for_cleanup)
 from nose.plugins.attrib import attr
-from marvin.cloudstackException import cloudstackAPIException
+from marvin.cloudstackException import CloudstackAPIException
+import time
 
 class Services:
     """Test Account Services
@@ -102,13 +120,11 @@ class TestAccounts(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestAccounts,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestAccounts, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
-        # Get Zone, Domain and templates
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         cls.template = get_template(
                             cls.api_client,
@@ -232,13 +248,11 @@ class TestRemoveUserFromAccount(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestRemoveUserFromAccount,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestRemoveUserFromAccount, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
-        # Get Zone, Domain and templates
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         cls.template = get_template(
                             cls.api_client,
@@ -392,13 +406,11 @@ class TestNonRootAdminsPrivileges(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestNonRootAdminsPrivileges,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestNonRootAdminsPrivileges, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
-        # Get Zone settings
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         # Create an account, domain etc
         cls.domain = Domain.create(
@@ -726,12 +738,12 @@ class TestTemplateHierarchy(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestTemplateHierarchy,
-                               cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestTemplateHierarchy, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+        cls.hypervisor = cls.testClient.getHypervisorInfo()
+
         cls.services = Services().services
-        # Get Zone settings
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype 
 
         # Create domains, accounts and template
@@ -772,7 +784,8 @@ class TestTemplateHierarchy(cloudstackTestCase):
                                         cls.services["template"],
                                         zoneid=cls.zone.id,
                                         account=cls.account_1.name,
-                                        domainid=cls.domain_1.id
+                                        domainid=cls.domain_1.id,
+                                        hypervisor=cls.hypervisor
                                         )
 
         # Wait for template to download
@@ -879,21 +892,12 @@ class TestAddVmToSubDomain(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestAddVmToSubDomain,
-                               cls
-                               ).getClsTestClient().getApiClient()
-        cls.services = Services().services
+        cls.testClient = super(TestAddVmToSubDomain, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
 
-        # Setup working Environment- Create domain, zone, pod cluster etc.
-        cls.domain = get_domain(
-                                   cls.api_client,
-                                   cls.services
-                                   )
-        cls.zone = get_zone(
-                               cls.api_client,
-                               cls.services,
-                               )
+        cls.services = Services().services
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         cls.sub_domain = Domain.create(
                                    cls.api_client,
@@ -1031,14 +1035,12 @@ class TestUserDetails(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestUserDetails,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestUserDetails, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
-        # Get Zone, Domain etc
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         cls._cleanup = []
         return
@@ -1331,14 +1333,12 @@ class TestUserLogin(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestUserLogin,
-                               cls
-                               ).getClsTestClient().getApiClient()
+        cls.testClient = super(TestUserLogin, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
         cls.services = Services().services
-        # Get Zone, Domain etc
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
         cls._cleanup = []
         return
@@ -1482,21 +1482,12 @@ class TestDomainForceRemove(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(
-                               TestDomainForceRemove,
-                               cls
-                               ).getClsTestClient().getApiClient()
-        cls.services = Services().services
+        cls.testClient = super(TestDomainForceRemove, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
 
-        # Setup working Environment- Create domain, zone, pod cluster etc.
-        cls.domain = get_domain(
-                                   cls.api_client,
-                                   cls.services
-                                   )
-        cls.zone = get_zone(
-                               cls.api_client,
-                               cls.services,
-                               )
+        cls.services = Services().services
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.services['mode'] = cls.zone.networktype
 
         cls.template = get_template(
@@ -1681,7 +1672,7 @@ class TestDomainForceRemove(cloudstackTestCase):
                 " to cleanup any remaining resouces")
             # Sleep 3*account.gc to ensure that all resources are deleted
             wait_for_cleanup(self.apiclient, ["account.cleanup.interval"]*3)
-            with self.assertRaises(cloudstackAPIException):
+            with self.assertRaises(CloudstackAPIException):
                 Domain.list(
                         self.apiclient,
                         id=domain.id,
@@ -1689,7 +1680,7 @@ class TestDomainForceRemove(cloudstackTestCase):
                         )
 
         self.debug("Checking if the resources in domain are deleted")
-        with self.assertRaises(cloudstackAPIException):
+        with self.assertRaises(CloudstackAPIException):
             Account.list(
                         self.apiclient,
                         name=self.account_1.name,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/test_add_remove_network.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_add_remove_network.py b/test/integration/component/test_add_remove_network.py
index b2b3594..2aadb5b 100644
--- a/test/integration/component/test_add_remove_network.py
+++ b/test/integration/component/test_add_remove_network.py
@@ -29,7 +29,7 @@
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import cloudstackTestCase, unittest
 from ddt import ddt, data
-from marvin.integration.lib.base import (
+from marvin.lib.base import (
                                         Account,
                                         Domain,
                                         ServiceOffering,
@@ -39,7 +39,7 @@ from marvin.integration.lib.base import (
                                         VpcOffering,
                                         VPC
                                         )
-from marvin.integration.lib.common import (get_domain,
+from marvin.lib.common import (get_domain,
                                         get_zone,
                                         get_template,
                                         list_virtual_machines,
@@ -49,7 +49,7 @@ from marvin.integration.lib.common import (get_domain,
                                         update_resource_limit
                                         )
 
-from marvin.integration.lib.utils import (validateList,
+from marvin.lib.utils import (validateList,
 					                      random_gen,
                                           get_hypervisor_type,
                                           cleanup_resources)
@@ -60,6 +60,7 @@ from marvin.cloudstackAPI import (addNicToVirtualMachine,
 
 from marvin.codes import PASS
 import random
+import time
 
 class Services:
     """Test Add Remove Network Services
@@ -67,7 +68,7 @@ class Services:
 
     def __init__(self):
         self.services = {
-
+            "sleep": 60,
             "ostype": "CentOS 5.3 (64-bit)",
             # Cent OS 5.3 (64 bit)
 
@@ -173,7 +174,10 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestAddNetworkToVirtualMachine, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestAddNetworkToVirtualMachine, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
+        cls.services = Services().services
 
         hypervisor = get_hypervisor_type(cls.api_client)
         if hypervisor.lower() not in ["xenserver","kvm"]:
@@ -181,8 +185,8 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
 
         cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
 
         template = get_template(cls.api_client, cls.zone.id, cls.services["ostype"])
         # Set Zones and disk offerings
@@ -394,8 +398,7 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
         # Trying to add same network to vm for the second time
         with self.assertRaises(Exception) as e:
             self.addNetworkToVm(network, self.virtual_machine)
-
-        self.debug("Adding same network again failed with exception: %s" % e.exception)
+            self.debug("Adding same network again failed with exception: %s" % e.exception)
 
         return
 
@@ -517,7 +520,7 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
         with self.assertRaises(Exception) as e:
             self.addNetworkToVm(self.shared_network, self.virtual_machine,
                 ipaddress = ipaddress)
-        self.debug("API failed with exception: %s" % e.exception)
+            self.debug("API failed with exception: %s" % e.exception)
 
         return
 
@@ -554,9 +557,7 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
 
         with self.assertRaises(Exception) as e:
             self.virtual_machine.add_nic(self.apiclient, network.id)
-            network.delete(self.apiclient)
-
-        self.debug("Operation failed with exception %s" % e.exception)
+            self.debug("Operation failed with exception %s" % e.exception)
 
         return
 
@@ -608,15 +609,13 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
                                                     domainid=self.child_do_admin_2.domainid, serviceofferingid=self.service_offering.id,
                                                     mode=self.zone.networktype)
 
+        time.sleep(self.services["sleep"])
         self.debug("Trying to %s network in domain %s to a vm in domain %s, This should fail" %
                    (network.type, self.child_domain_1.name, self.child_domain_2.name))
 
         with self.assertRaises(Exception) as e:
             virtual_machine.add_nic(self.apiclient, network.id)
-        self.debug("Operation failed with exception %s" % e.exception)
-
-        network.delete(self.apiclient)
-
+            self.debug("Operation failed with exception %s" % e.exception)
         return
 
     @attr(tags = ["advanced"])
@@ -688,7 +687,7 @@ class TestAddNetworkToVirtualMachine(cloudstackTestCase):
 
         with self.assertRaises(Exception) as e:
             virtual_machine.add_nic(self.apiclient, network_2.id)
-        self.debug("Operation failed with exception %s" % e.exception)
+            self.debug("Operation failed with exception %s" % e.exception)
 
         return
 
@@ -696,16 +695,18 @@ class TestRemoveNetworkFromVirtualMachine(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestRemoveNetworkFromVirtualMachine, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestRemoveNetworkFromVirtualMachine, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
+        cls.services = Services().services
 
         hypervisor = get_hypervisor_type(cls.api_client)
         if hypervisor.lower() not in ["xenserver","kvm"]:
             raise unittest.SkipTest("This feature is supported only on XenServer and KVM")
 
-        cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
 
         template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
         # Set Zones and disk offerings
@@ -838,7 +839,7 @@ class TestRemoveNetworkFromVirtualMachine(cloudstackTestCase):
                     self.virtual_machine.id)
         with self.assertRaises(Exception):
             self.virtual_machine.remove_nic(self.apiclient, vm_list[0].nic[0].id)
-        self.debug("Removing default nic of vm failed")
+            self.debug("Removing default nic of vm failed")
         return
 
     @attr(tags = ["advanced"])
@@ -869,23 +870,25 @@ class TestRemoveNetworkFromVirtualMachine(cloudstackTestCase):
                     operation should fail")
         with self.assertRaises(Exception) as e:
             self.virtual_machine.remove_nic(self.apiclient, virtual_machine.nic[0].id)
-        self.debug("Operation failed with exception: %s" % e.exception)
+            self.debug("Operation failed with exception: %s" % e.exception)
         return
 
 class TestUpdateVirtualMachineNIC(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestUpdateVirtualMachineNIC, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestUpdateVirtualMachineNIC, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
+        cls.services = Services().services
 
         hypervisor = get_hypervisor_type(cls.api_client)
         if hypervisor.lower() not in ["xenserver","kvm"]:
             raise unittest.SkipTest("This feature is supported only on XenServer and KVM")
 
-        cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
 
         template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
         # Set Zones and disk offerings
@@ -1047,7 +1050,7 @@ class TestUpdateVirtualMachineNIC(cloudstackTestCase):
         self.debug("Trying to set default nic again as default nic, This should fail")
         with self.assertRaises(Exception) as e:
             self.virtual_machine.update_default_nic(self.apiclient, nicId = defaultNicId)
-        self.debug("updateDefaultNic operation failed as expected with exception: %s" %
+            self.debug("updateDefaultNic operation failed as expected with exception: %s" %
                     e.exception)
 
         return
@@ -1072,15 +1075,16 @@ class TestUpdateVirtualMachineNIC(cloudstackTestCase):
         virtual_machine = VirtualMachine.create(self.apiclient,self.services["virtual_machine"],
                 accountid=account.name,domainid=account.domainid,
                 serviceofferingid=self.service_offering.id,mode=self.zone.networktype)
+        time.sleep(self.services["sleep"])
         self.debug("Deployed virtual machine: %s" % virtual_machine.id)
-
+     
         foreignNicId = virtual_machine.nic[0].id
 
         self.debug("Trying to set nic of new virtual machine as default nic of existing virtual machine, This \
                     operation should fail")
         with self.assertRaises(Exception) as e:
             self.virtual_machine.update_default_nic(self.apiclient, nicId = foreignNicId)
-        self.debug("updateDefaultNic operation failed as expected with exception: %s" %
+            self.debug("updateDefaultNic operation failed as expected with exception: %s" %
                     e.exception)
 
         return
@@ -1089,16 +1093,18 @@ class TestFailureScenariosAddNetworkToVM(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestFailureScenariosAddNetworkToVM, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestFailureScenariosAddNetworkToVM, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
+        cls.services = Services().services
 
         hypervisor = get_hypervisor_type(cls.api_client)
         if hypervisor.lower() not in ["xenserver","kvm"]:
             raise unittest.SkipTest("This feature is supported only on XenServer and KVM")
 
-        cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
         # Set Zones and disk offerings
         cls.services["virtual_machine"]["zoneid"] = cls.zone.id
@@ -1226,6 +1232,7 @@ class TestFailureScenariosAddNetworkToVM(cloudstackTestCase):
         cmd.networkid = isolated_network.id
 
         with self.assertRaises(Exception) as e:
+            time.sleep(5) 
             self.apiclient.addNicToVirtualMachine(cmd)
 	    self.debug("addNicToVirtualMachine API failed with exception: %s" % e.exception)
 
@@ -1267,6 +1274,7 @@ class TestFailureScenariosAddNetworkToVM(cloudstackTestCase):
         virtual_machine = VirtualMachine.create(self.apiclient,self.services["virtual_machine"],
                                                 serviceofferingid=self.service_offering.id,
                                                 mode=basicZone.networktype)
+        time.sleep(self.services["sleep"])
         self.debug("Deployed virtual machine %s: " % virtual_machine.id)
 
         cmd = addNicToVirtualMachine.addNicToVirtualMachineCmd()
@@ -1276,6 +1284,7 @@ class TestFailureScenariosAddNetworkToVM(cloudstackTestCase):
         self.dedbug("Trying to add isolated network to VM (both in basic zone,\
                     this operation should fail")
         with self.assertRaises(Exception) as e:
+            time.sleep(5) 
             self.apiclient.addNicToVirtualMachine(cmd)
 	    self.debug("addNicToVirtualMachine API failed with exception: %s" % e.exception)
 
@@ -1302,12 +1311,13 @@ class TestFailureScenariosAddNetworkToVM(cloudstackTestCase):
         self.debug("Created account %s" % account.name)
 
         self.debug("creating user api client for account: %s" % account.name)
-        api_client = self.testClient.createUserApiClient(UserName=account.name, DomainName=self.account.domain)
+        api_client = self.testClient.getUserApiClient(UserName=account.name, DomainName=self.account.domain)
 
         self.debug("Trying to add network to vm with this api client, this should fail due to \
                     insufficient permission")
 
         with self.assertRaises(Exception) as e:
+            time.sleep(5) 
             api_client.addNicToVirtualMachine(cmd)
 	    self.debug("addNicToVirtualMachine API failed with exception: %s" % e.exception)
 
@@ -1317,16 +1327,18 @@ class TestFailureScenariosRemoveNicFromVM(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestFailureScenariosRemoveNicFromVM, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestFailureScenariosRemoveNicFromVM, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
+        cls.services = Services().services
 
         hypervisor = get_hypervisor_type(cls.api_client)
         if hypervisor.lower() not in ["xenserver","kvm"]:
             raise unittest.SkipTest("This feature is supported only on XenServer and KVM")
 
-        cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
 
         template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
         # Set Zones and disk offerings
@@ -1374,7 +1386,7 @@ class TestFailureScenariosRemoveNicFromVM(cloudstackTestCase):
     def tearDownClass(cls):
         try:
             # Disable Network Offerings
-            #cls.isolated_network_offering.update(cls.api_client, state='Disabled')
+            cls.isolated_network_offering.update(cls.api_client, state='Disabled')
             # Cleanup resources used
             cleanup_resources(cls.api_client, cls._cleanup)
 
@@ -1480,7 +1492,7 @@ class TestFailureScenariosRemoveNicFromVM(cloudstackTestCase):
         self.debug("Created account %s" % account.name)
 
         self.debug("creating user api client for account: %s" % account.name)
-        api_client = self.testClient.createUserApiClient(UserName=account.name, DomainName=self.account.domain)
+        api_client = self.testClient.getUserApiClient(UserName=account.name, DomainName=self.account.domain)
 
         self.debug("Trying to add network to vm with this api client, this should fail due to \
                     insufficient permission")
@@ -1495,16 +1507,18 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.api_client = super(TestFailureScenariosUpdateVirtualMachineNIC, cls).getClsTestClient().getApiClient()
+        cls.testClient = super(TestFailureScenariosUpdateVirtualMachineNIC, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+
+        cls.services = Services().services
 
         hypervisor = get_hypervisor_type(cls.api_client)
         if hypervisor.lower() not in ["xenserver","kvm"]:
             raise unittest.SkipTest("This feature is supported only on XenServer and KVM")
 
-        cls.services = Services().services
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
 
         template = get_template(cls.api_client, cls.zone.id, cls.services["ostype"])
         # Set Zones and disk offerings
@@ -1603,7 +1617,7 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
 
         with self.assertRaises(Exception) as e:
             self.apiclient.updateDefaultNicForVirtualMachine(cmd)
-        self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
+            self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
                     e.exception)
 
         return
@@ -1649,7 +1663,7 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
 
         with self.assertRaises(Exception) as e:
             self.apiclient.updateDefaultNicForVirtualMachine(cmd)
-        self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
+            self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
                     e.exception)
 
         return
@@ -1678,7 +1692,7 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
                                                 accountid=account.name,domainid=account.domainid,
                                                 serviceofferingid=self.service_offering.id,
                                                 mode=self.zone.networktype)
-
+        time.sleep(self.services["sleep"])
         self.debug("Created virtual machine %s" % virtual_machine.id)
 
         self.debug("Creating isolated network in account %s" % account.name)
@@ -1731,7 +1745,7 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
 
         with self.assertRaises(Exception) as e:
             self.apiclient.updateDefaultNicForVirtualMachine(cmd)
-        self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
+            self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
                     e.exception)
 
         return
@@ -1751,7 +1765,7 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
         self.debug("Created account %s" % account.name)
 
         self.debug("creating user api client for account: %s" % account.name)
-        api_client = self.testClient.createUserApiClient(UserName=account.name, DomainName=self.account.domain)
+        api_client = self.testClient.getUserApiClient(UserName=account.name, DomainName=self.account.domain)
 
         self.debug("Listing virtual machine so that to retrive the list of non-default and default nic")
         vm_list = list_virtual_machines(self.apiclient, id=self.virtual_machine.id)
@@ -1781,7 +1795,7 @@ class TestFailureScenariosUpdateVirtualMachineNIC(cloudstackTestCase):
 
         with self.assertRaises(Exception) as e:
             api_client.updateDefaultNicForVirtualMachine(cmd)
-        self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
+            self.debug("updateDefaultNicForVirtualMachine API failed with exception: %s" %
                     e.exception)
 
         return

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/798a6aa2/test/integration/component/test_advancedsg_networks.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_advancedsg_networks.py b/test/integration/component/test_advancedsg_networks.py
index 207659f..f9155ed 100644
--- a/test/integration/component/test_advancedsg_networks.py
+++ b/test/integration/component/test_advancedsg_networks.py
@@ -19,7 +19,7 @@
 """
 from marvin.cloudstackTestCase import cloudstackTestCase, unittest
 from ddt import ddt, data
-from marvin.integration.lib.base import (Zone,
+from marvin.lib.base import (Zone,
                                          ServiceOffering,
                                          Account,
                                          NetworkOffering,
@@ -31,14 +31,14 @@ from marvin.integration.lib.base import (Zone,
                                          SecurityGroup,
                                          Host)
 
-from marvin.integration.lib.common import (get_domain,
+from marvin.lib.common import (get_domain,
                                            get_zone,
                                            get_template,
                                            get_free_vlan,
                                            list_virtual_machines,
                                            wait_for_cleanup)
 
-from marvin.integration.lib.utils import (cleanup_resources,
+from marvin.lib.utils import (cleanup_resources,
                                           random_gen,
                                           validateList)
 from marvin.cloudstackAPI import (authorizeSecurityGroupIngress,
@@ -54,14 +54,12 @@ class TestCreateZoneSG(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cloudstackTestClient = super(TestCreateZoneSG,cls).getClsTestClient()
-        cls.api_client = cloudstackTestClient.getApiClient()
-
-        # Fill services from the external config file
-        cls.services = cloudstackTestClient.getConfigParser().parsedDict
+        cls.testClient = super(TestCreateZoneSG, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
 
+        cls.services = cls.testClient.getParsedTestDataConfig()
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
 
         cls._cleanup = []
         return
@@ -154,14 +152,13 @@ class TestNetworksInAdvancedSG(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cloudstackTestClient = super(TestNetworksInAdvancedSG,cls).getClsTestClient()
-        cls.api_client = cloudstackTestClient.getApiClient()
-
-        cls.services = cloudstackTestClient.getConfigParser().parsedDict
+        cls.testClient = super(TestNetworksInAdvancedSG, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
 
+        cls.services = cls.testClient.getParsedTestDataConfig()
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(cls.api_client, cls.zone.id,
                                     cls.services["ostype"])
 
@@ -1102,14 +1099,13 @@ class TestNetworksInAdvancedSG_VmOperations(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cloudstackTestClient = super(TestNetworksInAdvancedSG_VmOperations,cls).getClsTestClient()
-        cls.api_client = cloudstackTestClient.getApiClient()
-
-        cls.services = cloudstackTestClient.getConfigParser().parsedDict
+        cls.testClient = super(TestNetworksInAdvancedSG_VmOperations, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+        cls.services = cls.testClient.getParsedTestDataConfig()
 
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
 
         cls.services["virtual_machine"]["zoneid"] = cls.zone.id
@@ -2086,14 +2082,13 @@ class TestSecurityGroups_BasicSanity(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cloudstackTestClient = super(TestSecurityGroups_BasicSanity,cls).getClsTestClient()
-        cls.api_client = cloudstackTestClient.getApiClient()
-
-        cls.services = cloudstackTestClient.getConfigParser().parsedDict
+        cls.testClient = super(TestSecurityGroups_BasicSanity, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+        cls.services = cls.testClient.getParsedTestDataConfig()
 
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
 
         cls.services["virtual_machine"]["zoneid"] = cls.zone.id
@@ -2548,14 +2543,13 @@ class TestSharedNetworkOperations(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cloudstackTestClient = super(TestSharedNetworkOperations,cls).getClsTestClient()
-        cls.api_client = cloudstackTestClient.getApiClient()
-
-        cls.services = cloudstackTestClient.getConfigParser().parsedDict
+        cls.testClient = super(TestSharedNetworkOperations, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+        cls.services = cls.testClient.getParsedTestDataConfig()
 
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
 
         cls.services["virtual_machine"]["zoneid"] = cls.zone.id
@@ -2815,14 +2809,13 @@ class TestAccountBasedIngressRules(cloudstackTestCase):
 
     @classmethod
     def setUpClass(cls):
-        cloudstackTestClient = super(TestAccountBasedIngressRules,cls).getClsTestClient()
-        cls.api_client = cloudstackTestClient.getApiClient()
-
-        cls.services = cloudstackTestClient.getConfigParser().parsedDict
+        cls.testClient = super(TestAccountBasedIngressRules, cls).getClsTestClient()
+        cls.api_client = cls.testClient.getApiClient()
+        cls.services = cls.testClient.getParsedTestDataConfig()
 
         # Get Zone, Domain and templates
-        cls.domain = get_domain(cls.api_client, cls.services)
-        cls.zone = get_zone(cls.api_client, cls.services)
+        cls.domain = get_domain(cls.api_client)
+        cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
         cls.template = get_template(cls.api_client,cls.zone.id,cls.services["ostype"])
 
         cls.services["virtual_machine"]["zoneid"] = cls.zone.id