summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/utils/nova_utils.py
diff options
context:
space:
mode:
authorSteven Pisarski <s.pisarski@cablelabs.com>2017-08-07 14:33:29 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-08-07 14:33:29 +0000
commit48f714f7dc56433148197b5fefb3d9253928a8b3 (patch)
tree2e20ce12ef771154a477f5e729153081f703f165 /snaps/openstack/utils/nova_utils.py
parentf3bfd3d092cf7122ade96b645c59101b9de3074d (diff)
parent04df5837a388c9b38172b24a2eeb6c2b8830d0aa (diff)
Merge "Refactor server retrieval API calls."
Diffstat (limited to 'snaps/openstack/utils/nova_utils.py')
-rw-r--r--snaps/openstack/utils/nova_utils.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/snaps/openstack/utils/nova_utils.py b/snaps/openstack/utils/nova_utils.py
index d6a8e02..5222712 100644
--- a/snaps/openstack/utils/nova_utils.py
+++ b/snaps/openstack/utils/nova_utils.py
@@ -106,19 +106,26 @@ def create_server(nova, neutron, glance, instance_settings, image_settings,
image_settings.name)
-def get_servers_by_name(nova, name):
+def get_server(nova, vm_inst_settings=None, server_name=None):
"""
- Returns a list of servers with a given name
+ Returns a VmInst object for the first server instance found.
:param nova: the Nova client
- :param name: the server name
- :return: the list of snaps.domain.VmInst objects
- """
- out = list()
- servers = nova.servers.list(search_opts={'name': name})
+ :param vm_inst_settings: the VmInstanceSettings object from which to build
+ the query if not None
+ :param server_name: the server with this name to return if vm_inst_settings
+ is not None
+ :return: a snaps.domain.VmInst object or None if not found
+ """
+ search_opts = dict()
+ if vm_inst_settings:
+ search_opts['name'] = vm_inst_settings.name
+ elif server_name:
+ search_opts['name'] = server_name
+
+ servers = nova.servers.list(search_opts=search_opts)
for server in servers:
- out.append(VmInst(name=server.name, inst_id=server.id,
- networks=server.networks))
- return out
+ return VmInst(name=server.name, inst_id=server.id,
+ networks=server.networks)
def __get_latest_server_os_object(nova, server):