summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2018-06-18 14:17:52 -0500
committerMatt Clay <matt@mystile.com>2018-06-18 15:22:15 -0700
commit6da22edb9e15621cfbe0ff56a6baf29d72a438c5 (patch)
tree9faf9e5175c7fa76527b28375e7bd5aa6db58e51
parentf58780fb28341fb07cd8fe188c983097574fb436 (diff)
downloadansible-6da22edb9e15621cfbe0ff56a6baf29d72a438c5.tar.gz
Fix openstack inventory script for multi-cloud case
The shift to openstacksdk left us with a bug in that when running bare with --list, the cloud argument to get_one is None. We just need _one_ of the clouds to pull the cache settings, since they are global (yet, we'll go back and fix this in sdk) If it's None, just use get_all and grab the first one.
-rwxr-xr-xcontrib/inventory/openstack_inventory.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/contrib/inventory/openstack_inventory.py b/contrib/inventory/openstack_inventory.py
index cf7bed949d..1bb5e17de9 100755
--- a/contrib/inventory/openstack_inventory.py
+++ b/contrib/inventory/openstack_inventory.py
@@ -192,8 +192,12 @@ def is_cache_stale(cache_file, cache_expiration_time, refresh=False):
def get_cache_settings(cloud=None):
config_files = cloud_config.CONFIG_FILES + CONFIG_FILES
- config = cloud_config.OpenStackConfig(
- config_files=config_files).get_one(cloud=cloud)
+ if cloud:
+ config = cloud_config.OpenStackConfig(
+ config_files=config_files).get_one(cloud=cloud)
+ else:
+ config = cloud_config.OpenStackConfig(
+ config_files=config_files).get_all()[0]
# For inventory-wide caching
cache_expiration_time = config.get_cache_expiration_time()
cache_path = config.get_cache_path()