Split get_hostvars_from_server into two
There are really two different things going on here. One is figuring out essential information "what IP do I use to talk to this server" The other is fleshing out some additional information that is useful for ansible inventories. The ansible inventory info is expensive when that's not what you're doing and when you're not using shade-level caching. A follow-on patch will make the create/get/list server calls use the new function always. Change-Id: Ia1de78d26c708ce6fe3205a9484cb16a92360890
This commit is contained in:
@@ -223,7 +223,8 @@ def get_groups_from_server(cloud, server, server_vars):
|
||||
return groups
|
||||
|
||||
|
||||
def get_hostvars_from_server(cloud, server, mounts=None):
|
||||
def expand_server_vars(cloud, server):
|
||||
"""Add clean up the server dict with information that is essential."""
|
||||
server_vars = server
|
||||
server_vars.pop('links', None)
|
||||
|
||||
@@ -257,6 +258,16 @@ def get_hostvars_from_server(cloud, server, mounts=None):
|
||||
server_vars['region'] = cloud.region_name
|
||||
server_vars['cloud'] = cloud.name
|
||||
|
||||
az = server_vars.get('OS-EXT-AZ:availability_zone', None)
|
||||
if az:
|
||||
server_vars['az'] = az
|
||||
return server_vars
|
||||
|
||||
|
||||
def get_hostvars_from_server(cloud, server, mounts=None):
|
||||
"""Expand additional server information useful for ansible inventory."""
|
||||
server_vars = expand_server_vars(cloud, server)
|
||||
|
||||
flavor_id = server['flavor']['id']
|
||||
flavor_name = cloud.get_flavor_name(flavor_id)
|
||||
if flavor_name:
|
||||
@@ -292,10 +303,6 @@ def get_hostvars_from_server(cloud, server, mounts=None):
|
||||
if 'mount' in mount:
|
||||
vol['mount'] = mount['mount']
|
||||
|
||||
az = server_vars.get('OS-EXT-AZ:availability_zone', None)
|
||||
if az:
|
||||
server_vars['az'] = az
|
||||
|
||||
return server_vars
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user