X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=snaps%2Fopenstack%2Futils%2Fnova_utils.py;h=38460c50dacf48ac2f6ebb66ac8e88cb681322e8;hb=390d31e3a6eaa0968474d19d71ec804d0c6c071a;hp=5e6a0377dbc0f68df334b47e52c343569f6248de;hpb=c711acf8ae3e4ad6f746500747857bcc9fd6f7be;p=snaps.git diff --git a/snaps/openstack/utils/nova_utils.py b/snaps/openstack/utils/nova_utils.py index 5e6a037..38460c5 100644 --- a/snaps/openstack/utils/nova_utils.py +++ b/snaps/openstack/utils/nova_utils.py @@ -42,16 +42,20 @@ Utilities for basic OpenStack Nova API calls """ -def nova_client(os_creds): +def nova_client(os_creds, session=None): """ Instantiates and returns a client for communications with OpenStack's Nova server :param os_creds: The connection credentials to the OpenStack API + :param session: the keystone session object (optional) :return: the client object """ logger.debug('Retrieving Nova Client') + if not session: + session = keystone_utils.keystone_session(os_creds) + return Client(os_creds.compute_api_version, - session=keystone_utils.keystone_session(os_creds), + session=session, region_name=os_creds.region_name) @@ -214,7 +218,9 @@ def __map_os_server_obj_to_vm_inst(neutron, keystone, os_server, name=os_server.name, inst_id=os_server.id, image_id=os_server.image['id'], flavor_id=os_server.flavor['id'], ports=out_ports, keypair_name=os_server.key_name, - sec_grp_names=sec_grp_names, volume_ids=volumes) + sec_grp_names=sec_grp_names, volume_ids=volumes, + compute_host=os_server._info.get('OS-EXT-SRV-ATTR:host'), + availability_zone=os_server._info.get('OS-EXT-AZ:availability_zone')) def __get_latest_server_os_object(nova, server):