From 22e3522824117213bb54a3fd8e9071c5e12a3566 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Fri, 5 Jun 2020 10:14:48 +1200 Subject: [PATCH] metalsmith_instances: Handle an empty instance list The dynamic concurrency change[1] causes an issue when the instance list is empty because the thread pool is created with max_workers=0. This change avoids this issue by exiting the provision function early if the instances list is empty. [1] https://review.opendev.org/#/c/714735/ Change-Id: I0d3587b575b0d32563ef24c7b1316c0b173a4268 --- .../ansible_plugins/modules/metalsmith_instances.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py b/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py index 62239e353..39fa0e95f 100644 --- a/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py +++ b/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py @@ -235,6 +235,9 @@ def _release_nodes(provisioner, node_ids): def provision(provisioner, instances, timeout, concurrency, clean_up, wait): + if not instances: + return False, [] + # first, ensure all instances are reserved reserve(provisioner, [i for i in instances if not i.get('name')], clean_up)