Add typing hits to Nova client
Change-Id: Ib2d5167e45d4593d1d1b9bea68bf22d0e9c6df3d
This commit is contained in:
parent
917db378b3
commit
c41e2507a1
@ -19,6 +19,8 @@ import typing
|
|||||||
import novaclient
|
import novaclient
|
||||||
import novaclient.exceptions
|
import novaclient.exceptions
|
||||||
import novaclient.v2.client
|
import novaclient.v2.client
|
||||||
|
import novaclient.v2.servers
|
||||||
|
import novaclient.v2.hypervisors
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
|
|
||||||
import tobiko
|
import tobiko
|
||||||
@ -30,6 +32,7 @@ LOG = log.getLogger(__name__)
|
|||||||
CLIENT_CLASSES = (novaclient.v2.client.Client,)
|
CLIENT_CLASSES = (novaclient.v2.client.Client,)
|
||||||
NovaClient = typing.Union[novaclient.v2.client.Client]
|
NovaClient = typing.Union[novaclient.v2.client.Client]
|
||||||
NovaServer = typing.Union[novaclient.v2.servers.Server]
|
NovaServer = typing.Union[novaclient.v2.servers.Server]
|
||||||
|
NovaHypervisor = typing.Union[novaclient.v2.hypervisors.Hypervisor]
|
||||||
|
|
||||||
|
|
||||||
class NovaClientFixture(_client.OpenstackClientFixture):
|
class NovaClientFixture(_client.OpenstackClientFixture):
|
||||||
@ -77,13 +80,15 @@ def get_nova_client(session=None, shared=True, init_client=None,
|
|||||||
return client.client
|
return client.client
|
||||||
|
|
||||||
|
|
||||||
def list_hypervisors(client: NovaClientType = None, detailed=True, **params):
|
def list_hypervisors(client: NovaClientType = None, detailed=True, **params) \
|
||||||
|
-> tobiko.Selection[NovaHypervisor]:
|
||||||
client = nova_client(client)
|
client = nova_client(client)
|
||||||
hypervisors = client.hypervisors.list(detailed=detailed)
|
hypervisors = client.hypervisors.list(detailed=detailed)
|
||||||
return tobiko.select(hypervisors).with_attributes(**params)
|
return tobiko.select(hypervisors).with_attributes(**params)
|
||||||
|
|
||||||
|
|
||||||
def find_hypervisor(client: NovaClientType = None, unique=False, **params):
|
def find_hypervisor(client: NovaClientType = None, unique=False, **params) \
|
||||||
|
-> NovaHypervisor:
|
||||||
hypervisors = list_hypervisors(client=client, **params)
|
hypervisors = list_hypervisors(client=client, **params)
|
||||||
if unique:
|
if unique:
|
||||||
return hypervisors.unique
|
return hypervisors.unique
|
||||||
|
Loading…
x
Reference in New Issue
Block a user