diff --git a/lib/ansible/plugins/inventory/openstack.py b/lib/ansible/plugins/inventory/openstack.py index c3b5abcb8a..bd1e303e8c 100644 --- a/lib/ansible/plugins/inventory/openstack.py +++ b/lib/ansible/plugins/inventory/openstack.py @@ -15,6 +15,9 @@ DOCUMENTATION = ''' - Marco Vito Moscaritolo - Jesse Keating 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)