Fix openstack inventory plugin (#43581)
* 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. * Fix openstack inventory plugin for API changes The inventory plugin api grew a self.cache that wasn't there when we first wrote it. There's also a need to pull in the documentation fragments so that we have the cache parameters.
This commit is contained in:
parent
b617a85e3e
commit
6d3db56c2a
1 changed files with 8 additions and 3 deletions
|
@ -15,6 +15,9 @@ DOCUMENTATION = '''
|
|||
- Marco Vito Moscaritolo <marco@agavee.com>
|
||||
- Jesse Keating <jesse.keating@rackspace.com>
|
||||
short_description: OpenStack inventory source
|
||||
extends_documentation_fragment:
|
||||
- inventory_cache
|
||||
- constructed
|
||||
description:
|
||||
- Get inventory hosts from OpenStack clouds
|
||||
- Uses openstack.(yml|yaml) YAML configuration file to configure the inventory plugin
|
||||
|
@ -146,10 +149,12 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
if 'clouds' in self._config_data:
|
||||
self._config_data = {}
|
||||
|
||||
if cache:
|
||||
cache = self.get_option('cache')
|
||||
source_data = None
|
||||
if cache and cache_key in self._cache:
|
||||
if cache:
|
||||
try:
|
||||
source_data = self._cache[cache_key]
|
||||
source_data = self.cache.get(cache_key)
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
|
@ -185,7 +190,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
source_data = cloud_inventory.list_hosts(
|
||||
expand=expand_hostvars, fail_on_cloud_config=fail_on_errors)
|
||||
|
||||
self._cache[cache_key] = source_data
|
||||
self.cache.set(cache_key, source_data)
|
||||
|
||||
self._populate_from_source(source_data)
|
||||
|
||||
|
|
Loading…
Reference in a new issue