Add functions to list or find nova server instances.
Change-Id: I9ddbacb62c2cfa3148ef310610746c5fa16a4900
This commit is contained in:
@@ -20,6 +20,8 @@ from tobiko.openstack.nova import _hypervisor
|
||||
CLIENT_CLASSES = _client.CLIENT_CLASSES
|
||||
get_nova_client = _client.get_nova_client
|
||||
list_hypervisors = _client.list_hypervisors
|
||||
list_servers = _client.list_servers
|
||||
find_server = _client.find_server
|
||||
nova_client = _client.nova_client
|
||||
NovaClientFixture = _client.NovaClientFixture
|
||||
find_hypervisor = _client.find_hypervisor
|
||||
|
||||
@@ -76,6 +76,20 @@ def find_hypervisor(client=None, unique=False, **params):
|
||||
return hypervisors.first
|
||||
|
||||
|
||||
def list_servers(client=None, **params):
|
||||
client = nova_client(client)
|
||||
servers = client.servers.list()
|
||||
return tobiko.select(servers).with_attributes(**params)
|
||||
|
||||
|
||||
def find_server(client=None, unique=False, **params):
|
||||
servers = list_servers(client=client, **params)
|
||||
if unique:
|
||||
return servers.unique
|
||||
else:
|
||||
return servers.first
|
||||
|
||||
|
||||
def get_server(server, client=None):
|
||||
return nova_client(client).servers.get(server)
|
||||
|
||||
|
||||
@@ -80,6 +80,19 @@ class ClientTest(testtools.TestCase):
|
||||
length=50)
|
||||
self.assertTrue(output)
|
||||
|
||||
def test_list_servers(self):
|
||||
server_id = self.stack.server_id
|
||||
for server in nova.list_servers():
|
||||
if server_id == server.id:
|
||||
break
|
||||
else:
|
||||
self.fail('Server {} not found'.format(server_id))
|
||||
|
||||
def test_find_server(self):
|
||||
server_id = self.stack.server_id
|
||||
server = nova.find_server(id=server_id, unique=True)
|
||||
self.assertEqual(server_id, server.id)
|
||||
|
||||
|
||||
class HypervisorTest(testtools.TestCase):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user