You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by sh...@apache.org on 2023/12/21 12:09:52 UTC

(cloudstack) branch revert-8281-e2e-test-resource-listing created (now 85fb0e9aa59)

This is an automated email from the ASF dual-hosted git repository.

shwstppr pushed a change to branch revert-8281-e2e-test-resource-listing
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


      at 85fb0e9aa59 Revert "Add e2e tests for listing resources (#8281)"

This branch includes the following new commits:

     new 85fb0e9aa59 Revert "Add e2e tests for listing resources (#8281)"

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(cloudstack) 01/01: Revert "Add e2e tests for listing resources (#8281)"

Posted by sh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

shwstppr pushed a commit to branch revert-8281-e2e-test-resource-listing
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 85fb0e9aa59818f5034246a1124713564761af6d
Author: Abhishek Kumar <ab...@gmail.com>
AuthorDate: Thu Dec 21 17:39:47 2023 +0530

    Revert "Add e2e tests for listing resources (#8281)"
    
    This reverts commit 1411da1a22bc6aa26634f3038475e3d5fbbcd6bb.
---
 .github/workflows/ci.yml                           |  15 +-
 setup/dev/advdualzone.cfg                          |  60 +-
 .../component/test_affinity_groups_projects.py     |   2 +-
 test/integration/smoke/test_list_accounts.py       | 379 -------------
 test/integration/smoke/test_list_disk_offerings.py | 319 -----------
 test/integration/smoke/test_list_domains.py        | 216 -------
 test/integration/smoke/test_list_hosts.py          | 372 -------------
 .../smoke/test_list_service_offerings.py           | 559 -------------------
 test/integration/smoke/test_list_storage_pools.py  | 396 -------------
 test/integration/smoke/test_list_volumes.py        | 618 ---------------------
 test/integration/smoke/test_metrics_api.py         |   1 +
 test/integration/smoke/test_secondary_storage.py   |   2 +-
 test/integration/smoke/test_templates.py           |  16 +-
 13 files changed, 45 insertions(+), 2910 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dd96fcfce4b..c6edc7bdb20 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -194,15 +194,8 @@ jobs:
                   component/test_vpc_network
                   component/test_vpc_offerings
                   component/test_vpc_routers
-                  component/test_vpn_users
-                  component/test_vpc_network_lbrules",
-                "smoke/test_list_accounts
-                  smoke/test_list_disk_offerings
-                  smoke/test_list_domains
-                  smoke/test_list_hosts
-                  smoke/test_list_service_offerings
-                  smoke/test_list_storage_pools
-                  smoke/test_list_volumes"]
+                  component/test_vpn_users",
+                "component/test_vpc_network_lbrules" ]
 
     steps:
       - uses: actions/checkout@v4
@@ -285,7 +278,7 @@ jobs:
           while ! nc -vzw 5 localhost 8096 2>&1 > /dev/null; do grep Exception /tmp/jetty-log; sleep 10; done
           set -e
           echo -e "\nStarting Advanced Zone DataCenter deployment"
-          python3 tools/marvin/marvin/deployDataCenter.py -i setup/dev/advdualzone.cfg 2>&1 || true
+          python3 tools/marvin/marvin/deployDataCenter.py -i setup/dev/advanced.cfg 2>&1 || true
 
       - name: Run Integration Tests with Simulator
         run: |
@@ -298,7 +291,7 @@ jobs:
           TESTS=($(echo $TESTS | tr -d '\n' | tr -s ' '))
           for suite in "${TESTS[@]}" ; do
             echo -e "Currently running test: $suite\n"
-            time nosetests-3.4 --with-xunit --xunit-file=integration-test-results/$suite.xml --with-marvin --marvin-config=setup/dev/advdualzone.cfg test/integration/$suite.py -s -a tags=advanced,required_hardware=false --zone=zim1 --hypervisor=simulator || true ;
+            time nosetests-3.4 --with-xunit --xunit-file=integration-test-results/$suite.xml --with-marvin --marvin-config=setup/dev/advanced.cfg test/integration/$suite.py -s -a tags=advanced,required_hardware=false --zone=Sandbox-simulator --hypervisor=simulator || true ;
           done
 
           echo -e "Stopping Simulator, integration tests run completed\n"
diff --git a/setup/dev/advdualzone.cfg b/setup/dev/advdualzone.cfg
index 97a98402348..b11675d712a 100644
--- a/setup/dev/advdualzone.cfg
+++ b/setup/dev/advdualzone.cfg
@@ -18,12 +18,12 @@
     "zones": [
         {
             "name": "zim1",
-            "guestcidraddress": "10.1.1.0/24",
-            "dns1": "10.147.28.6",
+            "guestcidraddress": "10.100.1.0/24",
+            "dns1": "10.147.100.6",
             "physical_networks": [
                 {
                     "broadcastdomainrange": "Zone",
-                    "vlan": "100-200",
+                    "vlan": "1100-1200",
                     "name": "z1-pnet",
                     "traffictypes": [
                         {
@@ -63,19 +63,19 @@
             },
             "ipranges": [
                 {
-                    "startip": "192.168.2.2",
-                    "endip": "192.168.2.200",
+                    "startip": "192.168.100.2",
+                    "endip": "192.168.100.200",
                     "netmask": "255.255.255.0",
                     "vlan": "50",
-                    "gateway": "192.168.2.1"
+                    "gateway": "192.168.100.1"
                 }
             ],
             "networktype": "Advanced",
             "pods": [
                 {
-                    "endip": "172.16.15.200",
+                    "endip": "172.16.100.200",
                     "name": "Z1P1",
-                    "startip": "172.16.15.2",
+                    "startip": "172.16.100.2",
                     "netmask": "255.255.255.0",
                     "clusters": [
                         {
@@ -96,11 +96,11 @@
                             "clustertype": "CloudManaged",
                             "primaryStorages": [
                                 {
-                                    "url": "nfs://10.147.28.6:/export/home/sandbox/z1p1",
+                                    "url": "nfs://10.147.100.6:/export/home/sandbox/z1p1",
                                     "name": "Z1PS1"
                                 },
                                 {
-                                    "url": "nfs://10.147.28.6:/export/home/sandbox/z1p2",
+                                    "url": "nfs://10.147.100.6:/export/home/sandbox/z1p2",
                                     "name": "Z1PS2"
                                 }
                             ]
@@ -123,35 +123,35 @@
                             "clustertype": "CloudManaged",
                             "primaryStorages": [
                                 {
-                                    "url": "nfs://10.147.28.6:/export/home/sandbox/z1p3",
+                                    "url": "nfs://10.147.100.6:/export/home/sandbox/z1p3",
                                     "name": "Z1PS3"
                                 },
                                 {
-                                    "url": "nfs://10.147.28.6:/export/home/sandbox/z1p4",
+                                    "url": "nfs://10.147.100.6:/export/home/sandbox/z1p4",
                                     "name": "Z1PS4"
                                 }
                             ]
                         }
                     ],
-                    "gateway": "172.16.15.1"
+                    "gateway": "172.16.100.1"
                 }
             ],
-            "internaldns1": "10.147.28.6",
+            "internaldns1": "10.147.100.6",
             "secondaryStorages": [
                 {
-                    "url": "nfs://10.147.28.6:/export/home/sandbox/z1secondary",
+                    "url": "nfs://10.147.100.6:/export/home/sandbox/z1secondary",
                     "provider" : "NFS"
                 }
             ]
         },
         {
             "name": "zim2",
-            "guestcidraddress": "10.1.2.0/24",
-            "dns1": "10.147.29.6",
+            "guestcidraddress": "10.200.1.0/24",
+            "dns1": "10.147.200.6",
             "physical_networks": [
                 {
                     "broadcastdomainrange": "Zone",
-                    "vlan": "300-400",
+                    "vlan": "2100-2200",
                     "name": "z2-pnet",
                     "traffictypes": [
                         {
@@ -191,19 +191,19 @@
             },
             "ipranges": [
                 {
-                    "startip": "192.168.3.2",
-                    "endip": "192.168.3.200",
+                    "startip": "192.168.200.2",
+                    "endip": "192.168.200.200",
                     "netmask": "255.255.255.0",
-                    "vlan": "51",
-                    "gateway": "192.168.3.1"
+                    "vlan": "50",
+                    "gateway": "192.168.200.1"
                 }
             ],
             "networktype": "Advanced",
             "pods": [
                 {
-                    "endip": "172.16.16.200",
+                    "endip": "172.16.200.200",
                     "name": "Z2P1",
-                    "startip": "172.16.16.2",
+                    "startip": "172.16.200.2",
                     "netmask": "255.255.255.0",
                     "clusters": [
                         {
@@ -224,11 +224,11 @@
                             "clustertype": "CloudManaged",
                             "primaryStorages": [
                                 {
-                                    "url": "nfs://10.147.29.6:/export/home/sandbox/z2p1",
+                                    "url": "nfs://10.147.200.6:/export/home/sandbox/z2p1",
                                     "name": "Z2PS1"
                                 },
                                 {
-                                    "url": "nfs://10.147.29.6:/export/home/sandbox/z2p2",
+                                    "url": "nfs://10.147.200.6:/export/home/sandbox/z2p2",
                                     "name": "Z2PS2"
                                 }
                             ]
@@ -251,20 +251,20 @@
                             "clustertype": "CloudManaged",
                             "primaryStorages": [
                                 {
-                                    "url": "nfs://10.147.29.6:/export/home/sandbox/z2p3",
+                                    "url": "nfs://10.147.200.6:/export/home/sandbox/z2p3",
                                     "name": "Z2PS3"
                                 },
                                 {
-                                    "url": "nfs://10.147.29.6:/export/home/sandbox/z2p4",
+                                    "url": "nfs://10.147.200.6:/export/home/sandbox/z2p4",
                                     "name": "Z2PS4"
                                 }
                             ]
                         }
                     ],
-                    "gateway": "172.16.16.1"
+                    "gateway": "172.16.200.1"
                 }
             ],
-            "internaldns1": "10.147.29.6",
+            "internaldns1": "10.147.200.6",
             "secondaryStorages": [
                 {
                     "url": "nfs://10.147.200.6:/export/home/sandbox/z2secondary",
diff --git a/test/integration/component/test_affinity_groups_projects.py b/test/integration/component/test_affinity_groups_projects.py
index 07811e79fde..1c0b4c2bdd8 100644
--- a/test/integration/component/test_affinity_groups_projects.py
+++ b/test/integration/component/test_affinity_groups_projects.py
@@ -1065,7 +1065,7 @@ class TestDeployVMAffinityGroups(cloudstackTestCase):
         """
         test DeployVM in anti-affinity groups with more vms than hosts.
         """
-        hosts = list_hosts(self.api_client, type="routing", zoneid=self.zone.id)
+        hosts = list_hosts(self.api_client, type="routing")
         aff_grp = self.create_aff_grp(self.account_api_client)
         vms = []
         for host in hosts:
diff --git a/test/integration/smoke/test_list_accounts.py b/test/integration/smoke/test_list_accounts.py
deleted file mode 100644
index 1cce3cef170..00000000000
--- a/test/integration/smoke/test_list_accounts.py
+++ /dev/null
@@ -1,379 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of accounts with different filters
-"""
-
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.lib.base import (Account,
-                             Domain)
-from marvin.lib.common import (get_domain, list_accounts)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListAccounts(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListAccounts, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.domain = get_domain(cls.apiclient)
-        cls.account = list_accounts(cls.apiclient, name="admin")[0]
-        cls._cleanup = []
-        cls.accounts = list_accounts(cls.apiclient, listall=True)
-
-        cls.child_domain_1 = Domain.create(
-            cls.apiclient,
-            cls.services["domain"],
-            parentdomainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.child_domain_1)
-
-        cls.services["account"]["username"] = "child_account_admin"
-        cls.child_account_admin = Account.create(
-            cls.apiclient,
-            cls.services["account"],
-            admin=True,
-            domainid=cls.child_domain_1.id
-        )
-        cls._cleanup.append(cls.child_account_admin)
-
-        cls.services["username"] = "child_account_user"
-        cls.child_account_user = Account.create(
-            cls.apiclient,
-            cls.services["account"],
-            admin=0,
-            domainid=cls.child_domain_1.id
-        )
-        cls.child_account_user.disable(cls.apiclient)
-        cls._cleanup.append(cls.child_account_user)
-
-        cls.child_domain_2 = Domain.create(
-            cls.apiclient,
-            cls.services["domain"],
-            parentdomainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.child_domain_2)
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListAccounts, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_accounts_accounttype_filter(self):
-        """Test listing accounts with accounttype filter
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            accounttype=0,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_user.name,
-            "Check for list response return valid data"
-        )
-        self.assertEqual(
-            list_account_response[0].accounttype,
-            0,
-            "Check for list response return valid data"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            accounttype=2,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_admin.name,
-            "Check for list response return valid data"
-        )
-        self.assertEqual(
-            list_account_response[0].accounttype,
-            2,
-            "Check for list response return valid data"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_accounts_domainid_filter(self):
-        """Test listing accounts with domainid filter
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            2,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            self.child_domain_1.id,
-            list_account_response[0].domainid,
-            "Check for list response return valid data"
-        )
-        self.assertEqual(
-            self.child_domain_1.id,
-            list_account_response[1].domainid,
-            "Check for list response return valid data"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            domainid=self.child_domain_2.id
-        )
-        self.assertIsNone(list_account_response, "Check for list response return valid data")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_accounts_id_filter(self):
-        """Test listing accounts with id filter
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            id=self.child_account_user.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_user.name,
-            "Expected account name and actual account name should be same"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            id=self.child_account_admin.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_admin.name,
-            "Expected account name and actual account name should be same"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_accounts_name_filter(self):
-        """Test listing accounts with name filter
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            name=self.child_account_user.name,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_user.name,
-            "Expected account name and actual account name should be same"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            name=self.child_account_admin.name,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_admin.name,
-            "Expected account name and actual account name should be same"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_accounts_state_filter(self):
-        """Test listing accounts with state filter
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            state="enabled",
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_admin.name,
-            "Expected account name and actual account name should be same"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            state="disabled",
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_account_response),
-            1,
-            "List Account response has incorrect length"
-        )
-        self.assertEqual(
-            list_account_response[0].name,
-            self.child_account_user.name,
-            "Expected account name and actual account name should be same"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_06_list_accounts_keyword_filter(self):
-        """Test listing accounts with keyword filter
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            keyword=self.child_account_user.name,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            self.child_account_user.name,
-            list_account_response[0].name,
-            "Expected account name and actual account name should be same"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            keyword=self.child_account_admin.name,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            self.child_account_admin.name,
-            list_account_response[0].name,
-            "Expected account name and actual account name should be same"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_07_list_accounts_with_listall_filters(self):
-        """Test listing accounts with listall filters
-        """
-        list_account_response = Account.list(
-            self.apiclient,
-            listall=False
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            1,
-            len(list_account_response),
-            "List Account response has incorrect length"
-        )
-
-        list_account_response = Account.list(
-            self.apiclient,
-            listall=True
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            2,
-            len(list_account_response) - len(self.accounts),
-            "List Account response has incorrect length"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_08_list_accounts_with_no_filters(self):
-        """Test listing accounts with no filters
-        """
-        list_account_response = Account.list(
-            self.apiclient
-        )
-        self.assertTrue(
-            isinstance(list_account_response, list),
-            "List Account response is not a valid list"
-        )
-        self.assertEqual(
-            1,
-            len(list_account_response),
-            "List Account response has incorrect length"
-        )
diff --git a/test/integration/smoke/test_list_disk_offerings.py b/test/integration/smoke/test_list_disk_offerings.py
deleted file mode 100644
index 6319ea338ad..00000000000
--- a/test/integration/smoke/test_list_disk_offerings.py
+++ /dev/null
@@ -1,319 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of disk offerings with different filters
-"""
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.codes import FAILED
-from marvin.lib.base import (Account,
-                             Domain,
-                             Volume,
-                             ServiceOffering,
-                             DiskOffering,
-                             VirtualMachine)
-from marvin.lib.common import (get_domain, list_accounts,
-                               list_zones, list_clusters, list_hosts)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListDiskOfferings(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListDiskOfferings, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.hypervisor = testClient.getHypervisorInfo()
-        cls.domain = get_domain(cls.apiclient)
-        cls.zones = list_zones(cls.apiclient)
-        cls.zone = cls.zones[0]
-        cls.clusters = list_clusters(cls.apiclient)
-        cls.cluster = cls.clusters[0]
-        cls.hosts = list_hosts(cls.apiclient)
-        cls.account = list_accounts(cls.apiclient, name="admin")[0]
-        cls._cleanup = []
-        cls.disk_offerings = DiskOffering.list(cls.apiclient, listall=True)
-
-        cls.disk_offering = DiskOffering.create(cls.apiclient,
-                                                cls.services["disk_offering"],
-                                                domainid=cls.domain.id)
-        cls._cleanup.append(cls.disk_offering)
-
-        cls.child_domain_1 = Domain.create(
-            cls.apiclient,
-            cls.services["domain"],
-            parentdomainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.child_domain_1)
-
-        cls.account_1 = Account.create(
-            cls.apiclient,
-            cls.services["account"],
-            admin=True,
-            domainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.account_1)
-
-        cls.domainadmin_api_client = testClient.getUserApiClient(
-            UserName=cls.account_1.user[0].username,
-            DomainName=cls.domain.name,
-            type=2
-        )
-
-        cls.disk_offering_child_domain = DiskOffering.create(cls.apiclient,
-                                                             cls.services["disk_offering"],
-                                                             domainid=cls.child_domain_1.id,
-                                                             zoneid=cls.zone.id,
-                                                             encrypt=True)
-        cls._cleanup.append(cls.disk_offering_child_domain)
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListDiskOfferings, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_disk_offerings_id_filter(self):
-        """ Test list disk offerings with id filter
-        """
-        # List all disk offerings
-        disk_offerings = DiskOffering.list(self.apiclient, id=self.disk_offering.id)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings),
-            1,
-            "List disk offerings response has incorrect length"
-        )
-        # Verify the id of the disk offering returned is the same as the one requested
-        self.assertEqual(
-            disk_offerings[0].id,
-            self.disk_offering.id,
-            "List disk offerings should return the disk offering requested"
-        )
-
-        disk_offerings = DiskOffering.list(self.apiclient, id=-1)
-        self.assertIsNone(disk_offerings, "List disk offerings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_disk_offerings_name_filter(self):
-        """ Test list disk offerings with name filter
-        """
-        disk_offerings = DiskOffering.list(self.apiclient, name=self.services["disk_offering"]["name"])
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings),
-            2,
-            "List disk offerings response has incorrect length"
-        )
-        # Verify the name of the disk offering returned is the same as the one requested
-        self.assertEqual(
-            disk_offerings[0].name,
-            self.services["disk_offering"]["name"],
-            "List disk offerings should return the disk offering requested"
-        )
-        self.assertEqual(
-            disk_offerings[1].name,
-            self.services["disk_offering"]["name"],
-            "List disk offerings should return the disk offering requested"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_disk_offerings_zoneid_filter(self):
-        """ Test list disk offerings with zoneid filter
-        """
-        disk_offerings_zone_1 = DiskOffering.list(self.apiclient, zoneid=self.zone.id)
-        self.assertTrue(
-            isinstance(disk_offerings_zone_1, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings_zone_1) - len(self.disk_offerings),
-            2,
-            "List disk offerings response has incorrect length"
-        )
-
-        for disk_offering in disk_offerings_zone_1:
-            self.assertTrue(
-                disk_offering.zoneid is None or disk_offering.zoneid == self.zone.id,
-                "List disk offerings should return the disk offering requested"
-            )
-
-        if len(self.zones) > 1:
-            disk_offerings_zone_2 = DiskOffering.list(self.apiclient, zoneid=self.zones[1].id)
-            self.assertTrue(
-                isinstance(disk_offerings_zone_2, list),
-                "List disk offerings response is not a valid list"
-            )
-            for disk_offering in disk_offerings_zone_2:
-                self.assertTrue(
-                    disk_offering.zoneid is None or disk_offering.zoneid == self.zones[1].id,
-                    "List disk offerings should return the disk offering requested"
-                )
-
-            self.assertEqual(len(disk_offerings_zone_1) - len(disk_offerings_zone_2), 1)
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_disk_offerings_domainid_filter(self):
-        """ Test list disk offerings with domainid filter
-        """
-        disk_offerings = DiskOffering.list(self.apiclient, domainid=self.domain.id)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings),
-            1,
-            "List disk offerings response has incorrect length"
-        )
-        self.assertEqual(
-            disk_offerings[0].domainid,
-            self.domain.id,
-            "List disk offerings should return the disk offering requested"
-        )
-
-        disk_offerings = DiskOffering.list(self.apiclient, domainid=self.child_domain_1.id)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings),
-            1,
-            "List disk offerings response has incorrect length"
-        )
-        self.assertEqual(
-            disk_offerings[0].domainid,
-            self.child_domain_1.id,
-            "List disk offerings should return the disk offering requested"
-        )
-
-        disk_offerings = DiskOffering.list(self.apiclient, domainid=-1)
-        self.assertIsNone(disk_offerings, "List disk offerings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_disk_offerings_encrypted_filter(self):
-        """ Test list disk offerings with encrypted filter
-        """
-        disk_offerings = DiskOffering.list(self.apiclient, encrypt=True)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-
-        self.assertEqual(
-            len(disk_offerings),
-            1,
-            "List disk offerings response has incorrect length"
-        )
-        self.assertTrue(
-            disk_offerings[0].encrypt,
-            "List disk offerings should return the disk offering requested"
-        )
-
-        disk_offerings = DiskOffering.list(self.apiclient, encrypt=False)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings) - len(self.disk_offerings),
-            1,
-            "List disk offerings response has incorrect length"
-        )
-        for disk_offering in disk_offerings:
-            self.assertFalse(
-                disk_offering.encrypt,
-                "List disk offerings should return the disk offering requested"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_06_list_disk_offerings_keyword_filter(self):
-        """ Test list disk offerings with keyword filter
-        """
-        disk_offerings = DiskOffering.list(self.apiclient, keyword=self.disk_offering.name)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings),
-            2,
-            "List disk offerings response has incorrect length"
-        )
-        self.assertEqual(
-            disk_offerings[0].name,
-            self.disk_offering.name,
-            "List disk offerings should return the disk offering requested"
-        )
-        self.assertEqual(
-            disk_offerings[1].name,
-            self.disk_offering.name,
-            "List disk offerings should return the disk offering requested"
-        )
-
-        disk_offerings = DiskOffering.list(self.apiclient, keyword="random")
-        self.assertIsNone(disk_offerings, "List disk offerings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_07_list_disk_offering_isrecursive_filter(self):
-        """ Test list disk offerings with isrecursive parameter
-        """
-        disk_offerings = DiskOffering.list(self.domainadmin_api_client, isrecursive=True)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings) - len(self.disk_offerings),
-            2,
-            "List disk offerings response has incorrect length"
-        )
-
-        disk_offerings = DiskOffering.list(self.domainadmin_api_client, isrecursive=False)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings) - len(self.disk_offerings),
-            1,
-            "List disk offerings response has incorrect length"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_08_list_disk_offering_no_filter(self):
-        """ Test list disk offerings with no filters
-        """
-        disk_offerings = DiskOffering.list(self.apiclient)
-        self.assertTrue(
-            isinstance(disk_offerings, list),
-            "List disk offerings response is not a valid list"
-        )
-        self.assertEqual(
-            len(disk_offerings) - len(self.disk_offerings),
-            2,
-            "List disk offerings response has incorrect length"
-        )
diff --git a/test/integration/smoke/test_list_domains.py b/test/integration/smoke/test_list_domains.py
deleted file mode 100644
index 546ffbbf1e3..00000000000
--- a/test/integration/smoke/test_list_domains.py
+++ /dev/null
@@ -1,216 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of domains with different filters
-"""
-
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.lib.base import (Account,
-                             Domain)
-from marvin.lib.common import (get_domain, list_accounts)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListDomains(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListDomains, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.domain = get_domain(cls.apiclient)
-        cls.account = list_accounts(cls.apiclient, name="admin")[0]
-        cls._cleanup = []
-
-        cls.child_domain_1 = Domain.create(
-            cls.apiclient,
-            cls.services["domain"],
-            parentdomainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.child_domain_1)
-
-        cls.child_account_1 = Account.create(
-            cls.apiclient,
-            cls.services["account"],
-            admin=True,
-            domainid=cls.child_domain_1.id
-        )
-        cls._cleanup.append(cls.child_account_1)
-
-        cls.child_account_apiclient = testClient.getUserApiClient(cls.child_account_1.user[0]['username'], cls.child_domain_1.name, type=2)
-
-        cls.child_domain_2 = Domain.create(
-            cls.apiclient,
-            cls.services["domain"],
-            parentdomainid=cls.child_domain_1.id
-        )
-        cls._cleanup.append(cls.child_domain_2)
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListDomains, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_domains_id_filter(self):
-        """ Test list domains with id filter
-        """
-        # List all domains
-        domains = Domain.list(self.apiclient, id=self.domain.id)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            1,
-            "List Domain response has incorrect length"
-        )
-        self.assertEqual(
-            domains[0].id,
-            self.domain.id,
-            "Check if list domains returns valid domain"
-        )
-
-        # List all domains with a non-existent id
-        with self.assertRaises(Exception):
-            Domain.list(self.apiclient, id=-1)
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_domains_name_filter(self):
-        """ Test list domains with name filter
-        """
-        # List all domains
-        domains = Domain.list(self.apiclient, name=self.domain.name)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            1,
-            "List Domain response has incorrect length"
-        )
-        self.assertEqual(
-            domains[0].name,
-            self.domain.name,
-            "Check if list domains returns valid domain"
-        )
-
-        domains = Domain.list(self.apiclient, name="non-existent-domain")
-        self.assertIsNone(domains, "List Domain response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_domains_listall_filter(self):
-        """ Test list domains with listall parameter
-        """
-        # List all domains
-        domains = Domain.list(self.child_account_apiclient, listall=True)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            2,
-            "List Domain response has incorrect length"
-        )
-
-        domains = Domain.list(self.child_account_apiclient, listall=False)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            1,
-            "List Domain response has incorrect length"
-        )
-        self.assertEqual(
-            domains[0].id,
-            self.child_domain_1.id,
-            "Check if list domains returns valid domain"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_domains_level_filter(self):
-        """ Test list domains with level filter
-        """
-        # List all domains
-        domains = Domain.list(self.apiclient, level=0)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            1,
-            "List Domain response has incorrect length"
-        )
-        self.assertEqual(
-            domains[0].id,
-            self.domain.id,
-            "Check if list domains returns valid domain"
-        )
-
-        domains = Domain.list(self.apiclient, level=1)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            1,
-            "List Domain response has incorrect length"
-        )
-
-        domains = Domain.list(self.apiclient, level=2)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            1,
-            "List Domain response has incorrect length"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_domains_no_filter(self):
-        """ Test list domains with no filter
-        """
-        # List all domains
-        domains = Domain.list(self.apiclient)
-        self.assertEqual(
-            isinstance(domains, list),
-            True,
-            "List Domain response is not a valid list"
-        )
-        self.assertEqual(
-            len(domains),
-            3,
-            "List Domain response has incorrect length"
-        )
diff --git a/test/integration/smoke/test_list_hosts.py b/test/integration/smoke/test_list_hosts.py
deleted file mode 100644
index 7bae216d51d..00000000000
--- a/test/integration/smoke/test_list_hosts.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of hosts with different filters
-"""
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.codes import FAILED
-from marvin.lib.base import (Configurations, Host)
-from marvin.lib.common import (get_domain, list_accounts,
-                               list_zones, list_clusters)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListHosts(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListHosts, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.hypervisor = testClient.getHypervisorInfo()
-        cls.zones = list_zones(cls.apiclient)
-        cls.zone = cls.zones[0]
-        cls.clusters = list_clusters(cls.apiclient)
-        cls.cluster = cls.clusters[0]
-        cls.hosts = Host.list(cls.apiclient)
-
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListHosts, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_hosts_no_filter(self):
-        """Test list hosts with no filter"""
-        hosts = Host.list(self.apiclient)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should greater than 0"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_hosts_clusterid_filter(self):
-        """Test list hosts with clusterid filter"""
-        hosts = Host.list(self.apiclient, clusterid=self.cluster.id)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.clusterid,
-                self.cluster.id,
-                "Host should be in the cluster %s" % self.cluster.id
-            )
-        with self.assertRaises(Exception):
-            hosts = Host.list(self.apiclient, clusterid="invalidclusterid")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_hosts_hahost_filter(self):
-        """Test list hosts with hahost filter"""
-        configs = Configurations.list(
-            self.apiclient,
-            name='ha.tag'
-        )
-        if isinstance(configs, list) and configs[0].value != "" and configs[0].value is not None:
-            hosts = Host.list(self.apiclient, hahost=True)
-            if hosts is not None:
-                self.assertTrue(
-                    isinstance(hosts, list),
-                    "Host response type should be a valid list"
-                )
-                self.assertGreater(
-                    len(hosts),
-                    0,
-                    "Length of host response should greater than 0"
-                )
-                for host in hosts:
-                    self.assertEqual(
-                        host.hahost,
-                        True,
-                        "Host should be a HA host"
-                    )
-
-            hosts = Host.list(self.apiclient, hahost=False)
-            if hosts is not None:
-                self.assertTrue(
-                    isinstance(hosts, list),
-                    "Host response type should be a valid list"
-                )
-                self.assertGreater(
-                    len(hosts),
-                    0,
-                    "Length of host response should greater than 0"
-                )
-                for host in hosts:
-                    self.assertTrue(
-                        host.hahost is None or host.hahost is False,
-                        "Host should not be a HA host"
-                    )
-        else:
-            self.debug("HA is not enabled in the setup")
-            hosts = Host.list(self.apiclient, hahost="invalidvalue")
-            self.assertTrue(
-                isinstance(hosts, list),
-                "Host response type should be a valid list"
-            )
-            self.assertGreater(
-                len(hosts),
-                0,
-                "Length of host response should greater than 0"
-            )
-            self.assertEqual(
-                len(hosts),
-                len(self.hosts),
-                "Length of host response should be equal to the length of hosts"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_hosts_hypervisor_filter(self):
-        """Test list hosts with hypervisor filter"""
-        hosts = Host.list(self.apiclient, hypervisor=self.hypervisor)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.hypervisor.lower(),
-                self.hypervisor.lower(),
-                "Host should be a %s hypervisor" % self.hypervisor
-            )
-
-        hosts = Host.list(self.apiclient, hypervisor="invalidhypervisor")
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertEqual(
-            len(hosts),
-            len(self.hosts),
-            "Length of host response should be equal to the length of hosts"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_hosts_id_filter(self):
-        """Test list hosts with id filter"""
-        hosts = Host.list(self.apiclient, id=self.hosts[0].id)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertEqual(
-            len(hosts),
-            1,
-            "Length of host response should be 1"
-        )
-        self.assertEqual(
-            hosts[0].id,
-            self.hosts[0].id,
-            "Host id should match with the host id in the list"
-        )
-
-        with self.assertRaises(Exception):
-            hosts = Host.list(self.apiclient, id="invalidid")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_06_list_hosts_keyword_filter(self):
-        """Test list hosts with keyword filter"""
-        hosts = Host.list(self.apiclient, keyword=self.hosts[0].name)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertIn(
-                host.name,
-                self.hosts[0].name,
-                "Host name should match with the host name in the list"
-            )
-
-        hosts = Host.list(self.apiclient, keyword="invalidkeyword")
-        self.assertIsNone(
-            hosts,
-            "Host response should be None"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_07_list_hosts_name_filter(self):
-        """Test list hosts with name filter"""
-        hosts = Host.list(self.apiclient, name=self.hosts[0].name)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertIn(
-                host.name,
-                self.hosts[0].name,
-                "Host name should match with the host name in the list"
-            )
-
-        hosts = Host.list(self.apiclient, name="invalidname")
-        self.assertIsNone(
-            hosts,
-            "Host response should be None"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_08_list_hosts_podid_filter(self):
-        """Test list hosts with podid filter"""
-        hosts = Host.list(self.apiclient, podid=self.hosts[0].podid)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.podid,
-                self.hosts[0].podid,
-                "Host podid should match with the host podid in the list"
-            )
-        with self.assertRaises(Exception):
-            hosts = Host.list(self.apiclient, podid="invalidpodid")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_09_list_hosts_resourcestate_filter(self):
-        """Test list hosts with resourcestate filter"""
-        hosts = Host.list(self.apiclient, resourcestate=self.hosts[0].resourcestate)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.resourcestate,
-                self.hosts[0].resourcestate,
-                "Host resourcestate should match with the host resourcestate in the list"
-            )
-
-        hosts = Host.list(self.apiclient, resourcestate="invalidresourcestate")
-        self.assertIsNone(
-            hosts,
-            "Host response should be None"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_10_list_hosts_state_filter(self):
-        """Test list hosts with state filter"""
-        hosts = Host.list(self.apiclient, state=self.hosts[0].state)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.state,
-                self.hosts[0].state,
-                "Host state should match with the host state in the list"
-            )
-
-        hosts = Host.list(self.apiclient, state="invalidstate")
-        self.assertIsNone(
-            hosts,
-            "Host response should be None"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_11_list_hosts_type_filter(self):
-        """Test list hosts with type filter"""
-        hosts = Host.list(self.apiclient, type=self.hosts[0].type)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.type,
-                self.hosts[0].type,
-                "Host type should match with the host type in the list"
-            )
-
-        hosts = Host.list(self.apiclient, type="invalidtype")
-        self.assertIsNone(
-            hosts,
-            "Host response should be None"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_12_list_hosts_zoneid_filter(self):
-        """Test list hosts with zoneid filter"""
-        hosts = Host.list(self.apiclient, zoneid=self.zone.id)
-        self.assertTrue(
-            isinstance(hosts, list),
-            "Host response type should be a valid list"
-        )
-        self.assertGreater(
-            len(hosts),
-            0,
-            "Length of host response should be greater than 0"
-        )
-        for host in hosts:
-            self.assertEqual(
-                host.zoneid,
-                self.zone.id,
-                "Host zoneid should match with the host zoneid in the list"
-            )
-
-        with self.assertRaises(Exception):
-            hosts = Host.list(self.apiclient, zoneid="invalidzoneid")
diff --git a/test/integration/smoke/test_list_service_offerings.py b/test/integration/smoke/test_list_service_offerings.py
deleted file mode 100644
index 319675419dd..00000000000
--- a/test/integration/smoke/test_list_service_offerings.py
+++ /dev/null
@@ -1,559 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of service offerings with different filters
-"""
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.codes import FAILED
-from marvin.lib.base import (Account,
-                             Domain,
-                             Volume,
-                             ServiceOffering,
-                             DiskOffering,
-                             VirtualMachine)
-from marvin.lib.common import (get_domain, list_accounts,
-                               list_zones, list_clusters, list_hosts)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListServiceOfferings(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListServiceOfferings, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.hypervisor = testClient.getHypervisorInfo()
-        cls.domain = get_domain(cls.apiclient)
-        cls.zones = list_zones(cls.apiclient)
-        cls.zone = cls.zones[0]
-        cls.clusters = list_clusters(cls.apiclient)
-        cls.cluster = cls.clusters[0]
-        cls.hosts = list_hosts(cls.apiclient)
-        cls.account = list_accounts(cls.apiclient, name="admin")[0]
-        cls._cleanup = []
-        cls.service_offerings = ServiceOffering.list(cls.apiclient)
-        cls.system_service_offerings = ServiceOffering.list(cls.apiclient, issystem=True)
-
-        cls.child_domain_1 = Domain.create(
-            cls.apiclient,
-            cls.services["domain"],
-            parentdomainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.child_domain_1)
-
-        cls.account_1 = Account.create(
-            cls.apiclient,
-            cls.services["account"],
-            admin=True,
-            domainid=cls.domain.id
-        )
-        cls._cleanup.append(cls.account_1)
-
-        cls.domainadmin_api_client = testClient.getUserApiClient(
-            UserName=cls.account_1.user[0].username,
-            DomainName=cls.domain.name,
-            type=2
-        )
-
-        cls.system_offering = ServiceOffering.create(
-            cls.apiclient,
-            cls.services["service_offerings"]["tiny"],
-            issystem=True,
-            name="custom_system_offering",
-            systemvmtype="domainrouter"
-        )
-        cls._cleanup.append(cls.system_offering)
-
-        cls.service_offering_1 = ServiceOffering.create(
-            cls.apiclient,
-            cls.services["service_offerings"]["small"],
-            cpunumber=2,
-            cpuspeed=2000,
-            domainid=cls.child_domain_1.id,
-            encryptroot=True,
-            name="custom_offering_1",
-            zoneid=cls.zone.id
-        )
-        cls._cleanup.append(cls.service_offering_1)
-
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListServiceOfferings, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_service_offerings_cpunumber_filter(self):
-        """Test list service offerings with cpunumber filter
-        """
-        # List all service offerings with cpunumber 1
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            cpunumber=1
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings) - len(self.service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertGreaterEqual(
-                service_offering.cpunumber,
-                1,
-                "List ServiceOfferings response has incorrect cpunumber"
-            )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            cpunumber=99999
-        )
-        self.assertIsNone(service_offerings, "List ServiceOfferings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_service_offerings_cpuspeed_filter(self):
-        """Test list service offerings with cpuspeed filter
-        """
-        # List all service offerings with cpuspeed 1000
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            cpuspeed=1000
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertGreaterEqual(
-                service_offering.cpuspeed,
-                1000,
-                "List ServiceOfferings response has incorrect cpuspeed"
-            )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            cpuspeed=99999
-        )
-        self.assertIsNone(service_offerings, "List ServiceOfferings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_service_offerings_memory_filter(self):
-        """Test list service offerings with memory filter
-        """
-        # List all service offerings with memory 256
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            memory=256
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertGreaterEqual(
-                service_offering.memory,
-                256,
-                "List ServiceOfferings response has incorrect memory"
-            )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            memory=99999
-        )
-        self.assertIsNone(service_offerings, "List ServiceOfferings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_service_offerings_domainid_filter(self):
-        """Test list service offerings with domainid filter
-        """
-        # List all service offerings with domainid
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            domainid=self.domain.id
-        )
-        self.assertIsNone(
-            service_offerings,
-            "List ServiceOfferings response is not None"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            domainid=self.child_domain_1.id
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertEqual(
-                service_offering.domainid,
-                self.child_domain_1.id,
-                "List ServiceOfferings response has incorrect domainid"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_service_offerings_encryptroot_filter(self):
-        """Test list service offerings with encryptroot filter
-        """
-        # List all service offerings with encryptroot True
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            encryptroot=True
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertTrue(
-                service_offering.encryptroot,
-                "List ServiceOfferings response has incorrect encryptroot"
-            )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            encryptroot=False
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertFalse(
-                service_offering.encryptroot,
-                "List ServiceOfferings response has incorrect encryptroot"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_06_list_service_offerings_id_filter(self):
-        """Test list service offerings with id filter
-        """
-        # List all service offerings with id
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            id=self.system_offering.id
-        )
-        self.assertIsNone(
-            service_offerings,
-            "List ServiceOfferings response is not None"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            id=self.service_offering_1.id
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        self.assertEqual(
-            service_offerings[0].id,
-            self.service_offering_1.id,
-            "List ServiceOfferings response has incorrect id"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            id=-1
-        )
-        self.assertIsNone(service_offerings, "List ServiceOfferings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_07_list_service_offerings_isrecursive_filter(self):
-        """Test list service offerings with isrecursive filter
-        """
-        # List all service offerings with listall True
-        service_offerings = ServiceOffering.list(
-            self.domainadmin_api_client,
-            isrecursive=True
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            len(self.service_offerings) + 1,
-            "List ServiceOfferings response is empty"
-        )
-
-        # List all service offerings with isrecursive False
-        service_offerings = ServiceOffering.list(
-            self.domainadmin_api_client,
-            isrecursive=False
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(service_offerings),
-            len(self.service_offerings),
-            "List ServiceOfferings response is empty"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_08_list_service_offerings_issystem_filter(self):
-        """Test list service offerings with issystem filter
-        """
-        # List all service offerings with issystem True
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            issystem=True
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            len(self.system_service_offerings) + 1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertTrue(
-                service_offering.issystem,
-                "List ServiceOfferings response has incorrect issystem"
-            )
-
-        # List all service offerings with issystem False
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            issystem=False
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            len(self.service_offerings) + 1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertFalse(
-                service_offering.issystem,
-                "List ServiceOfferings response has incorrect issystem"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_09_list_service_offerings_keyword_filter(self):
-        """Test list service offerings with keyword filter
-        """
-        # List all service offerings with keyword
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            keyword=self.system_offering.name
-        )
-        self.assertIsNone(
-            service_offerings,
-            "List ServiceOfferings response is not None"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            keyword=self.service_offering_1.name
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        self.assertEqual(
-            service_offerings[0].name,
-            self.service_offering_1.name,
-            "List ServiceOfferings response has incorrect name"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            keyword="invalid"
-        )
-        self.assertIsNone(service_offerings, "List ServiceOfferings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_10_list_service_offerings_name_filter(self):
-        """Test list service offerings with name filter
-        """
-        # List all service offerings with name
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            name=self.system_offering.name
-        )
-        self.assertIsNone(
-            service_offerings,
-            "List ServiceOfferings response is not None"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            name=self.system_offering.name,
-            issystem=True
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        self.assertEqual(
-            service_offerings[0].name,
-            self.system_offering.name,
-            "List ServiceOfferings response has incorrect name"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            name=self.service_offering_1.name
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        self.assertEqual(
-            service_offerings[0].name,
-            self.service_offering_1.name,
-            "List ServiceOfferings response has incorrect name"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            name="invalid"
-        )
-        self.assertIsNone(service_offerings, "List ServiceOfferings response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_11_list_service_offerings_systemvmtype_filter(self):
-        """Test list service offerings with systemvmtype filter
-        """
-        # List all service offerings with systemvmtype domainrouter
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            systemvmtype="domainrouter"
-        )
-        self.assertIsNone(
-            service_offerings,
-            "List ServiceOfferings response is not None"
-        )
-
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            systemvmtype="domainrouter",
-            issystem=True
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(service_offerings),
-            1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertEqual(
-                service_offering.systemvmtype,
-                "domainrouter",
-                "List ServiceOfferings response has incorrect systemvmtype"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_12_list_service_offerings_zoneid_filter(self):
-        """Test list service offerings with zoneid filter
-        """
-        service_offerings = ServiceOffering.list(
-            self.apiclient,
-            zoneid=self.zone.id
-        )
-        self.assertTrue(
-            isinstance(service_offerings, list),
-            "List ServiceOfferings response is not a valid list"
-        )
-        self.assertEqual(
-            len(service_offerings),
-            len(self.service_offerings) + 1,
-            "List ServiceOfferings response is empty"
-        )
-        for service_offering in service_offerings:
-            self.assertTrue(
-                service_offering.zoneid is None or service_offering.zoneid == self.zone.id,
-                "List ServiceOfferings response has incorrect zoneid"
-            )
-
-        if len(self.zones) > 1:
-            service_offerings = ServiceOffering.list(
-                self.apiclient,
-                zoneid=self.zones[1].id
-            )
-            if service_offerings is not None:
-                self.assertTrue(
-                    isinstance(service_offerings, list),
-                    "List ServiceOfferings response is not a valid list"
-                )
-                self.assertEqual(
-                    len(service_offerings),
-                    len(self.service_offerings),
-                    "List ServiceOfferings response is empty"
-                )
diff --git a/test/integration/smoke/test_list_storage_pools.py b/test/integration/smoke/test_list_storage_pools.py
deleted file mode 100644
index c2c075da65a..00000000000
--- a/test/integration/smoke/test_list_storage_pools.py
+++ /dev/null
@@ -1,396 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of storage pools with different filters
-"""
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.codes import FAILED
-from marvin.lib.base import (StoragePool)
-from marvin.lib.common import (get_domain, list_accounts,
-                               list_zones, list_clusters, list_hosts)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListStoragePools(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListStoragePools, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.hypervisor = testClient.getHypervisorInfo()
-        cls.domain = get_domain(cls.apiclient)
-        cls.zones = list_zones(cls.apiclient)
-        cls.zone = cls.zones[0]
-        cls.clusters = list_clusters(cls.apiclient)
-        cls.cluster = cls.clusters[0]
-        cls.hosts = list_hosts(cls.apiclient)
-        cls.account = list_accounts(cls.apiclient, name="admin")[0]
-        cls.storage_pools = StoragePool.list(cls.apiclient)
-
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListStoragePools, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_storage_pools_clusterid_filter(self):
-        """ Test list storage pools by clusterid filter
-        """
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            clusterid=self.cluster.id
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.clusterid,
-                self.cluster.id,
-                "Cluster id should be equal to the cluster id passed in the filter"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            clusterid="-1"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid cluster id is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_storage_pools_id_filter(self):
-        """ Test list storage pools by id filter
-        """
-        valid_id = self.storage_pools[0].id
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            id=valid_id
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertEqual(
-            len(storage_pools),
-            1,
-            "Length of storage pools should be equal to 1"
-        )
-        self.assertEqual(
-            storage_pools[0].id,
-            valid_id,
-            "Cluster id should be equal to the cluster id passed in the filter"
-        )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            id="-1"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid cluster id is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_storage_pools_ipaddress_filter(self):
-        """ Test list storage pools by ipaddress filter
-        """
-        valid_ipaddress = self.storage_pools[0].ipaddress
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            ipaddress=valid_ipaddress
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.ipaddress,
-                valid_ipaddress,
-                "IP address should be equal to the ip address passed in the filter"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            ipaddress="1.1.1.1"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid ip address is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_storage_pools_keyword_filter(self):
-        """ Test list storage pools by keyword filter
-        """
-        valid_keyword = self.storage_pools[0].name
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            keyword=valid_keyword
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertIn(
-                valid_keyword,
-                storage_pool.name,
-                "Keyword should be present in the storage pool name"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            keyword="invalid"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid keyword is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_storage_pools_name_filter(self):
-        """ Test list storage pools by name filter
-        """
-        valid_name = self.storage_pools[0].name
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            name=valid_name
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.name,
-                valid_name,
-                "Name should be equal to the name passed in the filter"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            name="invalid"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid name is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_06_list_storage_pools_path_filter(self):
-        """ Test list storage pools by path filter
-        """
-        valid_path = self.storage_pools[0].path
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            path=valid_path
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.path,
-                valid_path,
-                "Path should be equal to the path passed in the filter"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            path="invalid"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid path is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_07_list_storage_pools_podid_filter(self):
-        """ Test list storage pools by podid filter
-        """
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            podid=self.cluster.podid
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.podid,
-                self.cluster.podid,
-                "Pod id should be equal to the pod id passed in the filter"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            podid="-1"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid pod id is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_08_list_storage_pools_scope_filter(self):
-        """ Test list storage pools by scope filter
-        """
-        valid_scope = self.storage_pools[0].scope
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            scope=valid_scope
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.scope,
-                valid_scope,
-                "Scope should be equal to the scope passed in the filter"
-            )
-        with self.assertRaises(Exception):
-            storage_pools = StoragePool.list(
-                self.apiclient,
-                scope="invalid"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_09_list_storage_pools_status_filter(self):
-        """ Test list storage pools by status filter
-        """
-        valid_status = self.storage_pools[0].status
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            status=valid_status
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.status,
-                valid_status,
-                "State should be equal to the status passed in the filter"
-            )
-        with self.assertRaises(Exception):
-            storage_pools = StoragePool.list(
-                self.apiclient,
-                status="invalid"
-            )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_10_list_storage_pools_zoneid_filter(self):
-        """ Test list storage pools by zoneid filter
-        """
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            zoneid=self.zone.id
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
-        for storage_pool in storage_pools:
-            self.assertEqual(
-                storage_pool.zoneid,
-                self.zone.id,
-                "Zone id should be equal to the zone id passed in the filter"
-            )
-
-        storage_pools = StoragePool.list(
-            self.apiclient,
-            zoneid="-1"
-        )
-        self.assertIsNone(
-            storage_pools,
-            "Response should be empty when invalid zone id is passed"
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_11_list_storage_pools_no_filter(self):
-        """ Test list storage pools with no filter
-        """
-        storage_pools = StoragePool.list(
-            self.apiclient
-        )
-        self.assertTrue(
-            isinstance(storage_pools, list),
-            "Storage pool response type should be a list"
-        )
-        self.assertGreater(
-            len(storage_pools),
-            0,
-            "Length of storage pools should greater than 0"
-        )
diff --git a/test/integration/smoke/test_list_volumes.py b/test/integration/smoke/test_list_volumes.py
deleted file mode 100644
index b08e9cf3b38..00000000000
--- a/test/integration/smoke/test_list_volumes.py
+++ /dev/null
@@ -1,618 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-""" Tests for API listing of volumes with different filters
-"""
-# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.codes import FAILED
-from marvin.lib.base import (Account,
-                             Domain,
-                             Volume,
-                             ServiceOffering,
-                             Tag,
-                             DiskOffering,
-                             VirtualMachine)
-from marvin.lib.common import (get_domain, list_accounts,
-                               list_zones, list_clusters, list_hosts, get_suitable_test_template)
-# Import System modules
-from nose.plugins.attrib import attr
-
-_multiprocess_shared_ = True
-
-
-class TestListVolumes(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        testClient = super(TestListVolumes, cls).getClsTestClient()
-        cls.apiclient = testClient.getApiClient()
-        cls.services = testClient.getParsedTestDataConfig()
-        cls.hypervisor = testClient.getHypervisorInfo()
-        cls.domain = get_domain(cls.apiclient)
-        cls.zones = list_zones(cls.apiclient)
-        cls.zone = cls.zones[0]
-        cls.clusters = list_clusters(cls.apiclient)
-        cls.cluster = cls.clusters[0]
-        cls.hosts = list_hosts(cls.apiclient)
-        cls.account = list_accounts(cls.apiclient, name="admin")[0]
-        cls._cleanup = []
-
-        cls.service_offering = ServiceOffering.create(
-            cls.apiclient,
-            cls.services["service_offerings"]["tiny"]
-        )
-        cls._cleanup.append(cls.service_offering)
-
-        template = get_suitable_test_template(
-            cls.apiclient,
-            cls.zone.id,
-            cls.services["ostype"],
-            cls.hypervisor
-        )
-        if template == FAILED:
-            assert False, "get_test_template() failed to return template"
-
-        cls.services["template"]["ostypeid"] = template.ostypeid
-        cls.services["template_2"]["ostypeid"] = template.ostypeid
-        cls.services["ostypeid"] = template.ostypeid
-        cls.services["virtual_machine"]["zoneid"] = cls.zone.id
-        cls.services["mode"] = cls.zone.networktype
-
-        cls.disk_offering = DiskOffering.create(cls.apiclient,
-                                                cls.services["disk_offering"])
-        cls._cleanup.append(cls.disk_offering)
-
-        # Get already existing volumes in the env for assertions
-        cls.volumes = Volume.list(cls.apiclient, zoneid=cls.zone.id) or []
-
-        # Create VM
-        cls.virtual_machine = VirtualMachine.create(
-            cls.apiclient,
-            cls.services["virtual_machine"],
-            templateid=template.id,
-            accountid=cls.account.name,
-            domainid=cls.account.domainid,
-            clusterid=cls.cluster.id,
-            serviceofferingid=cls.service_offering.id,
-            mode=cls.services["mode"]
-        )
-
-        cls.child_domain = Domain.create(
-            cls.apiclient,
-            cls.services["domain"])
-        cls._cleanup.append(cls.child_domain)
-
-        cls.child_account = Account.create(
-            cls.apiclient,
-            cls.services["account"],
-            admin=True,
-            domainid=cls.child_domain.id)
-        cls._cleanup.append(cls.child_account)
-
-        cls.vol_1 = Volume.create(cls.apiclient,
-                                  cls.services["volume"],
-                                  zoneid=cls.zone.id,
-                                  account=cls.account.name,
-                                  domainid=cls.account.domainid,
-                                  diskofferingid=cls.disk_offering.id)
-        cls._cleanup.append(cls.vol_1)
-
-        cls.vol_1 = cls.virtual_machine.attach_volume(
-            cls.apiclient,
-            cls.vol_1
-        )
-        cls._cleanup.append(cls.virtual_machine)
-
-        Tag.create(cls.apiclient, cls.vol_1.id, "Volume", {"abc": "xyz"})
-
-        cls.vol_2 = Volume.create(cls.apiclient,
-                                  cls.services["volume"],
-                                  zoneid=cls.zone.id,
-                                  account=cls.account.name,
-                                  domainid=cls.account.domainid,
-                                  diskofferingid=cls.disk_offering.id)
-
-        cls._cleanup.append(cls.vol_2)
-
-        cls.vol_3 = Volume.create(cls.apiclient,
-                                  cls.services["volume"],
-                                  zoneid=cls.zone.id,
-                                  account=cls.child_account.name,
-                                  domainid=cls.child_account.domainid,
-                                  diskofferingid=cls.disk_offering.id)
-        cls._cleanup.append(cls.vol_3)
-
-    @classmethod
-    def tearDownClass(cls):
-        super(TestListVolumes, cls).tearDownClass()
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_01_list_volumes_account_domain_filter(self):
-        """Test listing Volumes with account & domain filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            account=self.account.name,
-            domainid=self.account.domainid
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            3,
-            "ListVolumes response expected 3 Volumes, received %s" % len(list_volume_response)
-        )
-
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            account=self.child_account.name,
-            domainid=self.child_account.domainid
-        )
-
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 Volume, received %s" % len(list_volume_response)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_02_list_volumes_diskofferingid_filter(self):
-        """Test listing Volumes with diskofferingid filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            account=self.account.name,
-            domainid=self.account.domainid,
-            diskofferingid=self.disk_offering.id
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            2,
-            "ListVolumes response expected 2 Volumes, received %s" % len(list_volume_response)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_03_list_volumes_id_filter(self):
-        """Test listing Volumes with id filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            id=self.vol_1.id
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 Volume, received %s" % len(list_volume_response)
-        )
-        self.assertEqual(
-            list_volume_response[0].id,
-            self.vol_1.id,
-            "ListVolumes response expected Volume with id %s, received %s" % (self.vol_1.id, list_volume_response[0].id)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_04_list_volumes_ids_filter(self):
-        """Test listing Volumes with ids filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            ids=[self.vol_1.id, self.vol_2.id, self.vol_3.id]
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            2,
-            "ListVolumes response expected 2 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(list_volume_response[0].id, [self.vol_1.id, self.vol_2.id],
-                      "ListVolumes response Volume 1 not in list")
-        self.assertIn(list_volume_response[1].id, [self.vol_1.id, self.vol_2.id],
-                      "ListVolumes response Volume 2 not in list")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_05_list_volumes_isrecursive(self):
-        """Test listing Volumes with isrecursive filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            isrecursive=True,
-            domainid=self.account.domainid
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response) - len(self.volumes),
-            4,
-            "ListVolumes response expected 4 Volumes, received %s" % len(list_volume_response)
-        )
-
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            isrecursive=False,
-            domainid=self.account.domainid
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response) - len(self.volumes),
-            3,
-            "ListVolumes response expected 3 Volumes, received %s" % len(list_volume_response)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_06_list_volumes_keyword_filter(self):
-        """Test listing Volumes with keyword filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            keyword=self.services["volume"]["diskname"]
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            2,
-            "ListVolumes response expected 2 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(
-            list_volume_response[0].id, [self.vol_1.id, self.vol_2.id],
-            "ListVolumes response Volume 1 not in list")
-        self.assertIn(list_volume_response[1].id, [self.vol_1.id, self.vol_2.id],
-                      "ListVolumes response Volume 2 not in list")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_07_list_volumes_listall(self):
-        """Test listing Volumes with listall filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            listall=True
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response) - len(self.volumes),
-            4,
-            "ListVolumes response expected 4 Volumes, received %s" % len(list_volume_response)
-        )
-
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            listall=False
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response) - len(self.volumes),
-            3,
-            "ListVolumes response expected 3 Volumes, received %s" % len(list_volume_response)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_08_listsystemvms(self):
-        list_volumes_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            listsystemvms=True
-        )
-        self.assertEqual(
-            isinstance(list_volumes_response, list),
-            True,
-            "List Volume response is not a valid list"
-        )
-        self.assertGreater(
-            len(list_volumes_response),
-            3,
-            "ListVolumes response expected more than 3 Volumes, received %s" % len(list_volumes_response)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_09_list_volumes_name_filter(self):
-        """Test listing Volumes with name filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            name=self.vol_1.name
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertEqual(
-            list_volume_response[0].id,
-            self.vol_1.id,
-            "ListVolumes response expected Volume with id %s, received %s" % (self.vol_1.id, list_volume_response[0].id)
-        )
-        self.assertEqual(
-            list_volume_response[0].name,
-            self.vol_1.name,
-            "ListVolumes response expected Volume with name %s, received %s" % (
-                self.vol_1.name, list_volume_response[0].name)
-        )
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_10_list_volumes_podid_filter(self):
-        """Test listing Volumes with podid filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            podid=self.vol_1.podid
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertGreater(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected more than 1 Volume, received %s" % len(list_volume_response)
-        )
-        self.assertIn(self.vol_1.id, [volume.id for volume in list_volume_response],
-                      "ListVolumes response expected Volume with id %s" % self.vol_1.id)
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_11_list_volumes_state_filter(self):
-        """Test listing Volumes with state filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            state="Ready"
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            2,
-            "ListVolumes response expected 2 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(self.vol_1.id, [volume.id for volume in list_volume_response],
-                      "ListVolumes response expected Volume with id %s" % self.vol_1.id)
-
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            state="Allocated"
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertEqual(self.vol_2.id, list_volume_response[0].id,
-                         "ListVolumes response expected Volume with id %s" % self.vol_3.id)
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_12_list_volumes_storageid_filter(self):
-        """Test listing Volumes with storageid filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            storageid=self.vol_1.storageid
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 or more Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(self.vol_1.id, [volume.id for volume in list_volume_response],
-                      "ListVolumes response expected Volume with id %s" % self.vol_1.id)
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_13_list_volumes_type_filter(self):
-        """Test listing Volumes with type filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            type="DATADISK"
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            2,
-            "ListVolumes response expected 2 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(self.vol_1.id, [volume.id for volume in list_volume_response],
-                      "ListVolumes response expected Volume with id %s" % self.vol_1.id)
-
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            type="ROOT"
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertNotIn(list_volume_response[0].id, [self.vol_1.id, self.vol_2.id],
-                         "ListVolumes response expected ROOT Volume")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_14_list_volumes_virtualmachineid_filter(self):
-        """Test listing Volumes with virtualmachineid filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id,
-            virtualmachineid=self.vol_1.virtualmachineid
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            2,
-            "ListVolumes response expected 2 Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(self.vol_1.id, [volume.id for volume in list_volume_response],
-                      "ListVolumes response expected Volume with id %s" % self.vol_1.id)
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_15_list_volumes_zoneid_filter(self):
-        """Test listing Volumes with zoneid filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zones[0].id
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            3,
-            "ListVolumes response expected 3 Volumes, received %s" % len(list_volume_response)
-        )
-
-        if len(self.zones) > 1:
-            list_volume_response = Volume.list(
-                self.apiclient,
-                zoneid=self.zones[1].id
-            )
-            self.assertIsNone(list_volume_response, "List Volume response is not None")
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_16_list_volumes_tags_filter(self):
-        """Test listing Volumes with tags filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            tags=[{"key": "abc", "value": "xyz"}]
-        )
-
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertEqual(
-            len(list_volume_response),
-            1,
-            "ListVolumes response expected 1 or more Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertEqual(
-            list_volume_response[0].id,
-            self.vol_1.id,
-            "ListVolumes response expected Volume with id %s, received %s" % (self.vol_1.id, list_volume_response[0].id)
-        )
-        self.assertEqual(
-            list_volume_response[0].tags[0]["key"],
-            "abc",
-            "ListVolumes response expected Volume with tag key abc, received %s" % list_volume_response[0].tags[0]["key"]
-        )
-        self.assertEqual(
-            list_volume_response[0].tags[0]["value"],
-            "xyz",
-            "ListVolumes response expected Volume with tag value xyz, received %s" % list_volume_response[0].tags[0]["value"]
-        )
-
-        list_volume_response = Volume.list(
-            self.apiclient,
-            tags=[{"key": "abc", "value": "xyz1"}]
-        )
-        self.assertIsNone(list_volume_response, "List Volume response is not None")
-        with self.assertRaises(Exception):
-            list_volume_response = Volume.list(
-                self.apiclient,
-                tags=[{"key": None, "value": None}]
-            )
-
-
-    @attr(tags=["advanced", "advancedns", "smoke", "basic"], required_hardware="false")
-    def test_17_list_volumes_no_filter(self):
-        """Test listing Volumes with no filter
-        """
-        list_volume_response = Volume.list(
-            self.apiclient,
-            zoneid=self.zone.id
-        )
-        self.assertTrue(
-            isinstance(list_volume_response, list),
-            "List Volume response is not a valid list"
-        )
-        self.assertGreaterEqual(
-            len(list_volume_response),
-            3,
-            "ListVolumes response expected 3 or more Volumes, received %s" % len(list_volume_response)
-        )
-        self.assertIn(self.vol_1.id, [volume.id for volume in list_volume_response],
-                      "ListVolumes response expected Volume with id %s" % self.vol_1.id)
diff --git a/test/integration/smoke/test_metrics_api.py b/test/integration/smoke/test_metrics_api.py
index 1042ad997fc..d5ad559fad0 100644
--- a/test/integration/smoke/test_metrics_api.py
+++ b/test/integration/smoke/test_metrics_api.py
@@ -289,6 +289,7 @@ class TestMetrics(cloudstackTestCase):
         self.assertTrue(hasattr(li, 'hosts'))
 
         self.assertEqual(li.hosts, len(list_hosts(self.apiclient,
+            zoneid=self.zone.id,
             type='Routing')))
 
         self.assertTrue(hasattr(li, 'imagestores'))
diff --git a/test/integration/smoke/test_secondary_storage.py b/test/integration/smoke/test_secondary_storage.py
index 4b26950ea64..5b339ae67b9 100644
--- a/test/integration/smoke/test_secondary_storage.py
+++ b/test/integration/smoke/test_secondary_storage.py
@@ -340,7 +340,7 @@ class TestSecStorageServices(cloudstackTestCase):
         # 1. Try complete migration from a storage with more (or equal) free space - migration should be refused
 
         storages = self.list_secondary_storages(self.apiclient)
-        if (len(storages)) < 2 or (storages[0]['zoneid'] != storages[1]['zoneid']):
+        if (len(storages)) < 2:
             self.skipTest(
                 "This test requires more than one secondary storage")
 
diff --git a/test/integration/smoke/test_templates.py b/test/integration/smoke/test_templates.py
index 2696db8f96b..66008b1a8f3 100644
--- a/test/integration/smoke/test_templates.py
+++ b/test/integration/smoke/test_templates.py
@@ -1024,17 +1024,17 @@ class TestCopyAndDeleteTemplatesAcrossZones(cloudstackTestCase):
                 cls.services["disk_offering"]
             )
             cls._cleanup.append(cls.disk_offering)
-            cls.template = get_template(
+            template = get_template(
                 cls.apiclient,
                 cls.zone.id,
                 cls.services["ostype"]
             )
-            if cls.template == FAILED:
+            if template == FAILED:
                 assert False, "get_template() failed to return template with description %s" % cls.services["ostype"]
 
-            cls.services["template"]["ostypeid"] = cls.template.ostypeid
-            cls.services["template_2"]["ostypeid"] = cls.template.ostypeid
-            cls.services["ostypeid"] = cls.template.ostypeid
+            cls.services["template"]["ostypeid"] = template.ostypeid
+            cls.services["template_2"]["ostypeid"] = template.ostypeid
+            cls.services["ostypeid"] = template.ostypeid
 
             cls.services["virtual_machine"]["zoneid"] = cls.zone.id
             cls.services["volume"]["diskoffering"] = cls.disk_offering.id
@@ -1055,7 +1055,7 @@ class TestCopyAndDeleteTemplatesAcrossZones(cloudstackTestCase):
             cls.virtual_machine = VirtualMachine.create(
                 cls.apiclient,
                 cls.services["virtual_machine"],
-                templateid=cls.template.id,
+                templateid=template.id,
                 accountid=cls.account.name,
                 domainid=cls.account.domainid,
                 serviceofferingid=cls.service_offering.id,
@@ -1104,7 +1104,7 @@ class TestCopyAndDeleteTemplatesAcrossZones(cloudstackTestCase):
             raise Exception("Warning: Exception during cleanup : %s" % e)
         return
 
-    @attr(tags=["advanced", "advancedns"], required_hardware="true")
+    @attr(tags=["advanced", "advancedns"], required_hardware="false")
     def test_09_copy_delete_template(self):
         cmd = listZones.listZonesCmd()
         zones = self.apiclient.listZones(cmd)
@@ -1156,7 +1156,7 @@ class TestCopyAndDeleteTemplatesAcrossZones(cloudstackTestCase):
 
         list_template_response = Template.list(
             self.apiclient,
-            templatefilter=self.services["templatefilter"],
+            templatefilter=self.services["template"]["templatefilter"],
             id=self.template.id,
             zoneid=self.destZone.id
         )