From 3f0ce584b2817b8156f71d743cdb6be4f48ac47d Mon Sep 17 00:00:00 2001 From: Jacob Callahan Date: Tue, 18 Apr 2023 16:00:58 -0400 Subject: [PATCH] Add progress bar to inventory sync Some inventory syncs take a long time to complete. This change adds in a progress bar so users know there is actual progress and have an estimated completion time. --- broker/providers/ansible_tower.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/broker/providers/ansible_tower.py b/broker/providers/ansible_tower.py index c71f4343..1fc9ec29 100644 --- a/broker/providers/ansible_tower.py +++ b/broker/providers/ansible_tower.py @@ -549,7 +549,9 @@ def get_inventory(self, user=None): for inv in invs: inv_hosts = inv.get_related("hosts", page_size=200).results hosts.extend(inv_hosts) - return [self._compile_host_info(host) for host in hosts] + with click.progressbar(hosts, label='Compiling host information') as hosts_bar: + compiled_host_info = [self._compile_host_info(host) for host in hosts_bar] + return compiled_host_info def extend(self, target_vm, new_expire_time=None): """Run the extend workflow with defaults args