You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by re...@apache.org on 2015/12/07 19:35:10 UTC

[5/8] git commit: updated refs/heads/master to 8757daf

Move NSX integrationt test to new plugins folder


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

Branch: refs/heads/master
Commit: bafc2313bb872efa07c01dca2fdff4bec9b8dbb6
Parents: 86e8361
Author: Miguel Ferreira <mi...@me.com>
Authored: Fri Dec 4 11:40:09 2015 +0100
Committer: Miguel Ferreira <mi...@me.com>
Committed: Sat Dec 5 15:52:23 2015 +0100

----------------------------------------------------------------------
 .../plugins/test_nicira_controller.py           | 310 +++++++++++++++++++
 .../integration/smoke/test_nicira_controller.py | 310 -------------------
 2 files changed, 310 insertions(+), 310 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bafc2313/test/integration/plugins/test_nicira_controller.py
----------------------------------------------------------------------
diff --git a/test/integration/plugins/test_nicira_controller.py b/test/integration/plugins/test_nicira_controller.py
new file mode 100644
index 0000000..229612d
--- /dev/null
+++ b/test/integration/plugins/test_nicira_controller.py
@@ -0,0 +1,310 @@
+#!/usr/bin/env python
+# 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.
+
+import requests
+from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.lib.utils import cleanup_resources
+from marvin.lib.base import (
+    PhysicalNetwork,
+    NetworkOffering,
+    NiciraNvp,
+    ServiceOffering,
+    Network,
+    VirtualMachine
+)
+from marvin.lib.common import (get_domain, get_zone, get_template)
+from nose.plugins.attrib import attr
+from marvin.codes import (FAILED, PASS)
+import time
+
+class TestNiciraContoller(cloudstackTestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        test_case = super(TestNiciraContoller, cls)
+
+        test_client    = test_case.getClsTestClient()
+        cls.config     = test_case.getClsConfig()
+        cls.api_client = test_client.getApiClient()
+
+        cls.physical_networks = cls.config.zones[0].physical_networks
+        cls.nicira_hosts      = cls.config.niciraNvp.hosts
+
+        cls.physical_network_id = cls.get_nicira_enabled_physical_network_id(cls.physical_networks)
+
+        cls.network_offerring_services = {
+            'name':              'NiciraEnabledNetwork',
+            'displaytext':       'NiciraEnabledNetwork',
+            'guestiptype':       'Isolated',
+            'supportedservices': 'SourceNat,Firewall,PortForwarding,Connectivity',
+            'traffictype':       'GUEST',
+            'availability':      'Optional',
+            'serviceProviderList': {
+                    'SourceNat':      'VirtualRouter',
+                    'Firewall':       'VirtualRouter',
+                    'PortForwarding': 'VirtualRouter',
+                    'Connectivity':   'NiciraNvp'
+            }
+        }
+
+        cls.network_offering = NetworkOffering.create(cls.api_client, cls.network_offerring_services)
+        cls.network_offering.update(cls.api_client, state='Enabled')
+
+        cls.nicira_credentials = {
+            'username': 'admin',
+            'password': 'admin'
+        }
+
+        cls.nicira_master_controller = cls.determine_master_controller(
+            cls.nicira_hosts,
+            cls.nicira_credentials
+        )
+
+        cls.transport_zone_uuid = cls.get_transport_zone_from_controller(
+            cls.nicira_master_controller,
+            cls.nicira_credentials
+        )
+
+        cls.domain = get_domain(cls.api_client)
+        cls.zone   = get_zone(cls.api_client, test_client.getZoneForTests())
+
+        template = get_template(
+            cls.api_client,
+            cls.zone.id
+        )
+        if template == FAILED:
+            raise Exception("get_template() failed to return template with description %s" % cls.services['ostype'])
+
+        cls.vm_services = {
+            'mode': cls.zone.networktype,
+            'small': {
+                'zoneid':      cls.zone.id,
+                'template':    template.id,
+                'displayname': 'testserver',
+                'username':    cls.config.zones[0].pods[0].clusters[0].hosts[0].username,
+                'password':    cls.config.zones[0].pods[0].clusters[0].hosts[0].password,
+                'ssh_port':    22,
+                'hypervisor':  cls.config.zones[0].pods[0].clusters[0].hypervisor,
+                'privateport': 22,
+                'publicport':  22,
+                'protocol':    'TCP',
+            },
+            'service_offerings': {
+                'tiny': {
+                    'name':        'Tiny Instance',
+                    'displaytext': 'Tiny Instance',
+                    'cpunumber':   1,
+                    'cpuspeed':    100,
+                    'memory':      64,
+                }
+            }
+        }
+
+        if cls.zone.localstorageenabled == True:
+            cls.vm_services['service_offerings']['tiny']['storagetype'] = 'local'
+
+        cls.service_offering = ServiceOffering.create(
+            cls.api_client,
+            cls.vm_services['service_offerings']['tiny']
+        )
+
+        cls.cleanup = [
+            cls.network_offering,
+            cls.service_offering
+        ]
+
+
+    @classmethod
+    def tearDownClass(cls):
+        try:
+            cleanup_resources(cls.api_client, reversed(cls.cleanup))
+        except Exception as e:
+            raise Exception("Warning: Exception during class cleanup : %s" % e)
+
+    def setUp(self):
+        self.test_cleanup = []
+
+    def tearDown(self):
+        try:
+            cleanup_resources(self.api_client, reversed(self.test_cleanup))
+        except Exception as e:
+            raise Exception("Warning: Exception during test cleanup : %s" % e)
+
+
+    @classmethod
+    def determine_master_controller(cls, hosts, credentials):
+        for host in hosts:
+            r1 = requests.post("https://%s/ws.v1/login" % host, credentials, verify=False)
+            r2 = requests.get("https://%s/ws.v1/control-cluster/status" % host, verify=False, cookies=r1.cookies)
+            status_code = r2.status_code
+            if status_code == 401:
+                continue
+            elif status_code == 200:
+                return host
+        raise Exception("None of the supplied hosts (%s) is a Nicira controller" % hosts)
+
+
+    @classmethod
+    def get_transport_zone_from_controller(cls, controller_host, credentials):
+        r1 = requests.post("https://%s/ws.v1/login" % controller_host, credentials, verify=False)
+        r2 = requests.get("https://%s/ws.v1/transport-zone" % controller_host, verify=False, cookies=r1.cookies)
+        status_code = r2.status_code
+        if status_code == 200:
+            list_transport_zone_response = r2.json()
+            result_count = list_transport_zone_response['result_count']
+            if result_count == 0:
+                raise Exception('Nicira controller did not return any Transport Zones')
+            elif result_count > 1:
+                self.debug("Nicira controller returned %s Transport Zones, picking first one" % resultCount)
+            transport_zone_api_url = list_transport_zone_response['results'][0]['_href']
+            r3 = requests.get(
+                "https://%s%s" % (controller_host, transport_zone_api_url),
+                verify=False,
+                cookies=r1.cookies
+            )
+            return r3.json()['uuid']
+        else:
+            raise Exception("Unexpected response from Nicira controller. Status code = %s, content = %s" % status_code)
+
+
+    @classmethod
+    def get_nicira_enabled_physical_network_id(cls, physical_networks):
+        nicira_physical_network_name = None
+        for physical_network in physical_networks:
+            for provider in physical_network.providers:
+                if provider.name == 'NiciraNvp':
+                    nicira_physical_network_name = physical_network.name
+        if nicira_physical_network_name is None:
+            raise Exception('Did not find a Nicira enabled physical network in configuration')
+        return PhysicalNetwork.list(cls.api_client, name=nicira_physical_network_name)[0].id
+
+
+    def determine_slave_conroller(self, hosts, master_controller):
+        slaves = [ s for s in hosts if s != master_controller ]
+        if len(slaves) > 0:
+            return slaves[0]
+        else:
+            raise Exception("None of the supplied hosts (%s) is a Nicira slave" % hosts)
+
+    @attr(tags = ["advanced", "smoke", "nicira"], required_hardware="true")
+    def test_01_nicira_controller(self):
+        nicira_device = NiciraNvp.add(
+            self.api_client,
+            None,
+            self.physical_network_id,
+            hostname=self.nicira_master_controller,
+            username=self.nicira_credentials['username'],
+            password=self.nicira_credentials['password'],
+            transportzoneuuid=self.transport_zone_uuid)
+        self.test_cleanup.append(nicira_device)
+
+        network_services = {
+            'name'            : 'nicira_enabled_network',
+            'displaytext'     : 'nicira_enabled_network',
+            'zoneid'          : self.zone.id,
+            'networkoffering' : self.network_offering.id
+        }
+        network = Network.create(
+            self.api_client,
+            network_services,
+            accountid='admin',
+            domainid=self.domain.id,
+        )
+        self.test_cleanup.append(network)
+
+        virtual_machine = VirtualMachine.create(
+            self.api_client,
+            self.vm_services['small'],
+            accountid='admin',
+            domainid=self.domain.id,
+            serviceofferingid=self.service_offering.id,
+            networkids=[network.id],
+            mode=self.vm_services['mode']
+        )
+        self.test_cleanup.append(virtual_machine)
+
+        list_vm_response = VirtualMachine.list(self.api_client, id=virtual_machine.id)
+        self.debug("Verify listVirtualMachines response for virtual machine: %s" % virtual_machine.id)
+
+        self.assertEqual(isinstance(list_vm_response, list), True, 'Response did not return a valid list')
+        self.assertNotEqual(len(list_vm_response), 0, 'List of VMs is empty')
+
+        vm_response = list_vm_response[0]
+        self.assertEqual(vm_response.id, virtual_machine.id, 'Virtual machine in response does not match request')
+        self.assertEqual(vm_response.state, 'Running', 'VM is not in Running state')
+
+    @attr(tags = ["advanced", "smoke", "nicira"], required_hardware="true")
+    def test_02_nicira_controller_redirect(self):
+        """
+            Nicira clusters will redirect clients (in this case ACS) to the master node.
+            This test assumes that a Nicira cluster is present and configured properly, and
+            that it has at least two controller nodes. The test will check that ASC follows
+            redirects by:
+                - adding a Nicira Nvp device that points to one of the cluster's slave controllers,
+                - create a VM in a Nicira backed network
+            If all is well, no matter what controller is specified (slaves or master), the vm (and respective router VM)
+            should be created without issues.
+        """
+        nicira_slave = self.determine_slave_conroller(self.nicira_hosts, self.nicira_master_controller)
+        self.debug("Nicira slave controller is: %s " % nicira_slave)
+
+        nicira_device = NiciraNvp.add(
+            self.api_client,
+            None,
+            self.physical_network_id,
+            hostname=nicira_slave,
+            username=self.nicira_credentials['username'],
+            password=self.nicira_credentials['password'],
+            transportzoneuuid=self.transport_zone_uuid)
+        self.test_cleanup.append(nicira_device)
+
+        network_services = {
+            'name'            : 'nicira_enabled_network',
+            'displaytext'     : 'nicira_enabled_network',
+            'zoneid'          : self.zone.id,
+            'networkoffering' : self.network_offering.id
+        }
+        network = Network.create(
+            self.api_client,
+            network_services,
+            accountid='admin',
+            domainid=self.domain.id,
+        )
+        self.test_cleanup.append(network)
+
+        virtual_machine = VirtualMachine.create(
+            self.api_client,
+            self.vm_services['small'],
+            accountid='admin',
+            domainid=self.domain.id,
+            serviceofferingid=self.service_offering.id,
+            networkids=[network.id],
+            mode=self.vm_services['mode']
+        )
+        self.test_cleanup.append(virtual_machine)
+
+        list_vm_response = VirtualMachine.list(self.api_client, id=virtual_machine.id)
+        self.debug("Verify listVirtualMachines response for virtual machine: %s" % virtual_machine.id)
+
+        self.assertEqual(isinstance(list_vm_response, list), True, 'Response did not return a valid list')
+        self.assertNotEqual(len(list_vm_response), 0, 'List of VMs is empty')
+
+        vm_response = list_vm_response[0]
+        self.assertEqual(vm_response.id, virtual_machine.id, 'Virtual machine in response does not match request')
+        self.assertEqual(vm_response.state, 'Running', 'VM is not in Running state')
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bafc2313/test/integration/smoke/test_nicira_controller.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_nicira_controller.py b/test/integration/smoke/test_nicira_controller.py
deleted file mode 100644
index 229612d..0000000
--- a/test/integration/smoke/test_nicira_controller.py
+++ /dev/null
@@ -1,310 +0,0 @@
-#!/usr/bin/env python
-# 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.
-
-import requests
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.lib.utils import cleanup_resources
-from marvin.lib.base import (
-    PhysicalNetwork,
-    NetworkOffering,
-    NiciraNvp,
-    ServiceOffering,
-    Network,
-    VirtualMachine
-)
-from marvin.lib.common import (get_domain, get_zone, get_template)
-from nose.plugins.attrib import attr
-from marvin.codes import (FAILED, PASS)
-import time
-
-class TestNiciraContoller(cloudstackTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        test_case = super(TestNiciraContoller, cls)
-
-        test_client    = test_case.getClsTestClient()
-        cls.config     = test_case.getClsConfig()
-        cls.api_client = test_client.getApiClient()
-
-        cls.physical_networks = cls.config.zones[0].physical_networks
-        cls.nicira_hosts      = cls.config.niciraNvp.hosts
-
-        cls.physical_network_id = cls.get_nicira_enabled_physical_network_id(cls.physical_networks)
-
-        cls.network_offerring_services = {
-            'name':              'NiciraEnabledNetwork',
-            'displaytext':       'NiciraEnabledNetwork',
-            'guestiptype':       'Isolated',
-            'supportedservices': 'SourceNat,Firewall,PortForwarding,Connectivity',
-            'traffictype':       'GUEST',
-            'availability':      'Optional',
-            'serviceProviderList': {
-                    'SourceNat':      'VirtualRouter',
-                    'Firewall':       'VirtualRouter',
-                    'PortForwarding': 'VirtualRouter',
-                    'Connectivity':   'NiciraNvp'
-            }
-        }
-
-        cls.network_offering = NetworkOffering.create(cls.api_client, cls.network_offerring_services)
-        cls.network_offering.update(cls.api_client, state='Enabled')
-
-        cls.nicira_credentials = {
-            'username': 'admin',
-            'password': 'admin'
-        }
-
-        cls.nicira_master_controller = cls.determine_master_controller(
-            cls.nicira_hosts,
-            cls.nicira_credentials
-        )
-
-        cls.transport_zone_uuid = cls.get_transport_zone_from_controller(
-            cls.nicira_master_controller,
-            cls.nicira_credentials
-        )
-
-        cls.domain = get_domain(cls.api_client)
-        cls.zone   = get_zone(cls.api_client, test_client.getZoneForTests())
-
-        template = get_template(
-            cls.api_client,
-            cls.zone.id
-        )
-        if template == FAILED:
-            raise Exception("get_template() failed to return template with description %s" % cls.services['ostype'])
-
-        cls.vm_services = {
-            'mode': cls.zone.networktype,
-            'small': {
-                'zoneid':      cls.zone.id,
-                'template':    template.id,
-                'displayname': 'testserver',
-                'username':    cls.config.zones[0].pods[0].clusters[0].hosts[0].username,
-                'password':    cls.config.zones[0].pods[0].clusters[0].hosts[0].password,
-                'ssh_port':    22,
-                'hypervisor':  cls.config.zones[0].pods[0].clusters[0].hypervisor,
-                'privateport': 22,
-                'publicport':  22,
-                'protocol':    'TCP',
-            },
-            'service_offerings': {
-                'tiny': {
-                    'name':        'Tiny Instance',
-                    'displaytext': 'Tiny Instance',
-                    'cpunumber':   1,
-                    'cpuspeed':    100,
-                    'memory':      64,
-                }
-            }
-        }
-
-        if cls.zone.localstorageenabled == True:
-            cls.vm_services['service_offerings']['tiny']['storagetype'] = 'local'
-
-        cls.service_offering = ServiceOffering.create(
-            cls.api_client,
-            cls.vm_services['service_offerings']['tiny']
-        )
-
-        cls.cleanup = [
-            cls.network_offering,
-            cls.service_offering
-        ]
-
-
-    @classmethod
-    def tearDownClass(cls):
-        try:
-            cleanup_resources(cls.api_client, reversed(cls.cleanup))
-        except Exception as e:
-            raise Exception("Warning: Exception during class cleanup : %s" % e)
-
-    def setUp(self):
-        self.test_cleanup = []
-
-    def tearDown(self):
-        try:
-            cleanup_resources(self.api_client, reversed(self.test_cleanup))
-        except Exception as e:
-            raise Exception("Warning: Exception during test cleanup : %s" % e)
-
-
-    @classmethod
-    def determine_master_controller(cls, hosts, credentials):
-        for host in hosts:
-            r1 = requests.post("https://%s/ws.v1/login" % host, credentials, verify=False)
-            r2 = requests.get("https://%s/ws.v1/control-cluster/status" % host, verify=False, cookies=r1.cookies)
-            status_code = r2.status_code
-            if status_code == 401:
-                continue
-            elif status_code == 200:
-                return host
-        raise Exception("None of the supplied hosts (%s) is a Nicira controller" % hosts)
-
-
-    @classmethod
-    def get_transport_zone_from_controller(cls, controller_host, credentials):
-        r1 = requests.post("https://%s/ws.v1/login" % controller_host, credentials, verify=False)
-        r2 = requests.get("https://%s/ws.v1/transport-zone" % controller_host, verify=False, cookies=r1.cookies)
-        status_code = r2.status_code
-        if status_code == 200:
-            list_transport_zone_response = r2.json()
-            result_count = list_transport_zone_response['result_count']
-            if result_count == 0:
-                raise Exception('Nicira controller did not return any Transport Zones')
-            elif result_count > 1:
-                self.debug("Nicira controller returned %s Transport Zones, picking first one" % resultCount)
-            transport_zone_api_url = list_transport_zone_response['results'][0]['_href']
-            r3 = requests.get(
-                "https://%s%s" % (controller_host, transport_zone_api_url),
-                verify=False,
-                cookies=r1.cookies
-            )
-            return r3.json()['uuid']
-        else:
-            raise Exception("Unexpected response from Nicira controller. Status code = %s, content = %s" % status_code)
-
-
-    @classmethod
-    def get_nicira_enabled_physical_network_id(cls, physical_networks):
-        nicira_physical_network_name = None
-        for physical_network in physical_networks:
-            for provider in physical_network.providers:
-                if provider.name == 'NiciraNvp':
-                    nicira_physical_network_name = physical_network.name
-        if nicira_physical_network_name is None:
-            raise Exception('Did not find a Nicira enabled physical network in configuration')
-        return PhysicalNetwork.list(cls.api_client, name=nicira_physical_network_name)[0].id
-
-
-    def determine_slave_conroller(self, hosts, master_controller):
-        slaves = [ s for s in hosts if s != master_controller ]
-        if len(slaves) > 0:
-            return slaves[0]
-        else:
-            raise Exception("None of the supplied hosts (%s) is a Nicira slave" % hosts)
-
-    @attr(tags = ["advanced", "smoke", "nicira"], required_hardware="true")
-    def test_01_nicira_controller(self):
-        nicira_device = NiciraNvp.add(
-            self.api_client,
-            None,
-            self.physical_network_id,
-            hostname=self.nicira_master_controller,
-            username=self.nicira_credentials['username'],
-            password=self.nicira_credentials['password'],
-            transportzoneuuid=self.transport_zone_uuid)
-        self.test_cleanup.append(nicira_device)
-
-        network_services = {
-            'name'            : 'nicira_enabled_network',
-            'displaytext'     : 'nicira_enabled_network',
-            'zoneid'          : self.zone.id,
-            'networkoffering' : self.network_offering.id
-        }
-        network = Network.create(
-            self.api_client,
-            network_services,
-            accountid='admin',
-            domainid=self.domain.id,
-        )
-        self.test_cleanup.append(network)
-
-        virtual_machine = VirtualMachine.create(
-            self.api_client,
-            self.vm_services['small'],
-            accountid='admin',
-            domainid=self.domain.id,
-            serviceofferingid=self.service_offering.id,
-            networkids=[network.id],
-            mode=self.vm_services['mode']
-        )
-        self.test_cleanup.append(virtual_machine)
-
-        list_vm_response = VirtualMachine.list(self.api_client, id=virtual_machine.id)
-        self.debug("Verify listVirtualMachines response for virtual machine: %s" % virtual_machine.id)
-
-        self.assertEqual(isinstance(list_vm_response, list), True, 'Response did not return a valid list')
-        self.assertNotEqual(len(list_vm_response), 0, 'List of VMs is empty')
-
-        vm_response = list_vm_response[0]
-        self.assertEqual(vm_response.id, virtual_machine.id, 'Virtual machine in response does not match request')
-        self.assertEqual(vm_response.state, 'Running', 'VM is not in Running state')
-
-    @attr(tags = ["advanced", "smoke", "nicira"], required_hardware="true")
-    def test_02_nicira_controller_redirect(self):
-        """
-            Nicira clusters will redirect clients (in this case ACS) to the master node.
-            This test assumes that a Nicira cluster is present and configured properly, and
-            that it has at least two controller nodes. The test will check that ASC follows
-            redirects by:
-                - adding a Nicira Nvp device that points to one of the cluster's slave controllers,
-                - create a VM in a Nicira backed network
-            If all is well, no matter what controller is specified (slaves or master), the vm (and respective router VM)
-            should be created without issues.
-        """
-        nicira_slave = self.determine_slave_conroller(self.nicira_hosts, self.nicira_master_controller)
-        self.debug("Nicira slave controller is: %s " % nicira_slave)
-
-        nicira_device = NiciraNvp.add(
-            self.api_client,
-            None,
-            self.physical_network_id,
-            hostname=nicira_slave,
-            username=self.nicira_credentials['username'],
-            password=self.nicira_credentials['password'],
-            transportzoneuuid=self.transport_zone_uuid)
-        self.test_cleanup.append(nicira_device)
-
-        network_services = {
-            'name'            : 'nicira_enabled_network',
-            'displaytext'     : 'nicira_enabled_network',
-            'zoneid'          : self.zone.id,
-            'networkoffering' : self.network_offering.id
-        }
-        network = Network.create(
-            self.api_client,
-            network_services,
-            accountid='admin',
-            domainid=self.domain.id,
-        )
-        self.test_cleanup.append(network)
-
-        virtual_machine = VirtualMachine.create(
-            self.api_client,
-            self.vm_services['small'],
-            accountid='admin',
-            domainid=self.domain.id,
-            serviceofferingid=self.service_offering.id,
-            networkids=[network.id],
-            mode=self.vm_services['mode']
-        )
-        self.test_cleanup.append(virtual_machine)
-
-        list_vm_response = VirtualMachine.list(self.api_client, id=virtual_machine.id)
-        self.debug("Verify listVirtualMachines response for virtual machine: %s" % virtual_machine.id)
-
-        self.assertEqual(isinstance(list_vm_response, list), True, 'Response did not return a valid list')
-        self.assertNotEqual(len(list_vm_response), 0, 'List of VMs is empty')
-
-        vm_response = list_vm_response[0]
-        self.assertEqual(vm_response.id, virtual_machine.id, 'Virtual machine in response does not match request')
-        self.assertEqual(vm_response.state, 'Running', 'VM is not in Running state')
-