mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-02 20:24:23 -07:00
Fix the refresh flag in openstack inventory
Refresh will update the dogpile cache from shade, but doesn't cause the ansible side json cache to be invalidated. It's a simple oversight.
This commit is contained in:
parent
e00012994e
commit
1f8e484b70
1 changed files with 6 additions and 4 deletions
|
@ -94,9 +94,9 @@ def get_groups_from_server(server_vars):
|
||||||
return groups
|
return groups
|
||||||
|
|
||||||
|
|
||||||
def get_host_groups(inventory):
|
def get_host_groups(inventory, refresh=False):
|
||||||
(cache_file, cache_expiration_time) = get_cache_settings()
|
(cache_file, cache_expiration_time) = get_cache_settings()
|
||||||
if is_cache_stale(cache_file, cache_expiration_time):
|
if is_cache_stale(cache_file, cache_expiration_time, refresh=refresh):
|
||||||
groups = to_json(get_host_groups_from_cloud(inventory))
|
groups = to_json(get_host_groups_from_cloud(inventory))
|
||||||
open(cache_file, 'w').write(groups)
|
open(cache_file, 'w').write(groups)
|
||||||
else:
|
else:
|
||||||
|
@ -121,8 +121,10 @@ def get_host_groups_from_cloud(inventory):
|
||||||
return groups
|
return groups
|
||||||
|
|
||||||
|
|
||||||
def is_cache_stale(cache_file, cache_expiration_time):
|
def is_cache_stale(cache_file, cache_expiration_time, refresh=False):
|
||||||
''' Determines if cache file has expired, or if it is still valid '''
|
''' Determines if cache file has expired, or if it is still valid '''
|
||||||
|
if refresh:
|
||||||
|
return True
|
||||||
if os.path.isfile(cache_file):
|
if os.path.isfile(cache_file):
|
||||||
mod_time = os.path.getmtime(cache_file)
|
mod_time = os.path.getmtime(cache_file)
|
||||||
current_time = time.time()
|
current_time = time.time()
|
||||||
|
@ -176,7 +178,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if args.list:
|
if args.list:
|
||||||
output = get_host_groups(inventory)
|
output = get_host_groups(inventory, refresh=args.refresh)
|
||||||
elif args.host:
|
elif args.host:
|
||||||
output = to_json(inventory.get_host(args.host))
|
output = to_json(inventory.get_host(args.host))
|
||||||
print(output)
|
print(output)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue