Remove direct uses of nova_client in functional tests

We use nova_client in a few places for setup/teardown - but we're solid
enough at this point to just use ourselves for these functions. We're
_pretty_ good at deleting servers consistently.

Change-Id: Ifd12488752c036e4453c308a1aa6573c57d52944
This commit is contained in:
Monty Taylor 2017-05-15 18:00:50 -05:00
parent 4199976762
commit 750e0a9803
No known key found for this signature in database
GPG Key ID: 7BAE94BC7141A594
2 changed files with 20 additions and 27 deletions

View File

@ -21,7 +21,6 @@ Functional tests for floating IP resource.
import pprint
from novaclient import exceptions as nova_exc
from testtools import content
from shade import _utils
@ -36,8 +35,8 @@ class TestFloatingIP(base.BaseFunctionalTestCase):
def setUp(self):
super(TestFloatingIP, self).setUp()
self.nova = self.user_cloud.nova_client
self.flavor = pick_flavor(self.nova.flavors.list())
self.flavor = pick_flavor(
self.user_cloud.list_flavors(get_extra=False))
if self.flavor is None:
self.assertFalse('no sensible flavor available')
self.image = self.pick_image()
@ -96,18 +95,13 @@ class TestFloatingIP(base.BaseFunctionalTestCase):
exception_list = list()
# Delete stale servers as well as server created for this test
for i in self.nova.servers.list():
for i in self.user_cloud.list_servers(bare=True):
if i.name.startswith(self.new_item_name):
self.nova.servers.delete(i)
for _ in _utils._iterate_timeout(
self.timeout, "Timeout deleting servers"):
try:
self.nova.servers.get(server=i)
except nova_exc.NotFound:
break
except Exception as e:
exception_list.append(str(e))
continue
try:
self.user_cloud.delete_server(i, wait=True)
except Exception as e:
exception_list.append(str(e))
continue
if exception_list:
# Raise an error: we must make users aware that something went

View File

@ -31,21 +31,20 @@ class TestInventory(base.BaseFunctionalTestCase):
# This needs to use an admin account, otherwise a public IP
# is not allocated from devstack.
self.inventory = inventory.OpenStackInventory()
self.server_name = 'test_inventory_server'
self.nova = self.operator_cloud.nova_client
self.flavor = pick_flavor(self.nova.flavors.list())
self.server_name = self.getUniqueString('inventory')
self.flavor = pick_flavor(
self.user_cloud.list_flavors(get_extra=False))
if self.flavor is None:
self.assertTrue(False, 'no sensible flavor available')
self.image = self.pick_image()
self.addCleanup(self._cleanup_servers)
self.operator_cloud.create_server(
self.addCleanup(self._cleanup_server)
server = self.operator_cloud.create_server(
name=self.server_name, image=self.image, flavor=self.flavor,
wait=True, auto_ip=True)
self.server_id = server['id']
def _cleanup_servers(self):
for i in self.nova.servers.list():
if i.name.startswith(self.server_name):
self.nova.servers.delete(i)
def _cleanup_server(self):
self.user_cloud.delete_server(self.server_id, wait=True)
def _test_host_content(self, host):
self.assertEqual(host['image']['id'], self.image.id)
@ -62,20 +61,20 @@ class TestInventory(base.BaseFunctionalTestCase):
self.assertEqual(host['flavor']['name'], self.flavor.name)
def test_get_host(self):
host = self.inventory.get_host(self.server_name)
host = self.inventory.get_host(self.server_id)
self.assertIsNotNone(host)
self.assertEqual(host['name'], self.server_name)
self._test_host_content(host)
self._test_expanded_host_content(host)
host_found = False
for host in self.inventory.list_hosts():
if host['name'] == self.server_name:
if host['id'] == self.server_id:
host_found = True
self._test_host_content(host)
self.assertTrue(host_found)
def test_get_host_no_detail(self):
host = self.inventory.get_host(self.server_name, expand=False)
host = self.inventory.get_host(self.server_id, expand=False)
self.assertIsNotNone(host)
self.assertEqual(host['name'], self.server_name)
@ -88,7 +87,7 @@ class TestInventory(base.BaseFunctionalTestCase):
host_found = False
for host in self.inventory.list_hosts(expand=False):
if host['name'] == self.server_name:
if host['id'] == self.server_id:
host_found = True
self._test_host_content(host)
self.assertTrue(host_found)