From 8ef33773a2d3eaca062bb4629bf2077b6eb1349b Mon Sep 17 00:00:00 2001 From: ramishra Date: Fri, 14 May 2021 21:59:54 +0530 Subject: [PATCH] Fix issues in tripleo_ovn_mac_addresses module - Don't initialize thread pool when no servers (can't do with 0 workers) - Fix bridge_mappings default - Don't call write_vars_file when no servers or static_mappings Also use correct argument for stack_name in cli-overcloud-delete.yaml playbook. Change-Id: I1f02487e0ae9da4f7a455a1142f94f0ecdd8450c --- .../modules/tripleo_ovn_mac_addresses.py | 33 ++++++++++--------- .../playbooks/cli-overcloud-delete.yaml | 2 +- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/tripleo_ansible/ansible_plugins/modules/tripleo_ovn_mac_addresses.py b/tripleo_ansible/ansible_plugins/modules/tripleo_ovn_mac_addresses.py index 9f12882f4..344c654f5 100644 --- a/tripleo_ansible/ansible_plugins/modules/tripleo_ovn_mac_addresses.py +++ b/tripleo_ansible/ansible_plugins/modules/tripleo_ovn_mac_addresses.py @@ -229,7 +229,7 @@ def run_module(): stack = module.params.get('stack_name', 'overcloud') role_name = module.params['role_name'] - bridge_mappings = module.params['ovn_bridge_mappings'] + bridge_mappings = module.params['ovn_bridge_mappings'] or [] servers = module.params.get('server_resource_names') or [] playbook_dir = module.params['playbook_dir'] concurrency = module.params.get('concurrency', 0) @@ -258,26 +258,27 @@ def run_module(): if concurrency < 1: concurrency = len(servers) - jobs = [] - exceptions = [] - with futures.ThreadPoolExecutor(max_workers=concurrency) as p: - for server in servers: - jobs.append(p.submit(create_ovn_mac_address_ports, - result, conn, net_id, tags, - physnets, server)) + if servers: + jobs = [] + exceptions = [] + with futures.ThreadPoolExecutor(max_workers=concurrency) as p: + for server in servers: + jobs.append(p.submit(create_ovn_mac_address_ports, + result, conn, net_id, tags, + physnets, server)) - for job in futures.as_completed(jobs): - e = job.exception() - if e: - exceptions.append(e) + for job in futures.as_completed(jobs): + e = job.exception() + if e: + exceptions.append(e) - if exceptions: - raise exceptions[0] + if exceptions: + raise exceptions[0] remove_obsolete_ports(result, conn, net_id, tags, servers, physnets) - - write_vars_file(conn, playbook_dir, net_id, tags, static_mappings) + if static_mappings or servers: + write_vars_file(conn, playbook_dir, net_id, tags, static_mappings) result['success'] = True module.exit_json(**result) diff --git a/tripleo_ansible/playbooks/cli-overcloud-delete.yaml b/tripleo_ansible/playbooks/cli-overcloud-delete.yaml index 180e9c5a7..e6430be44 100644 --- a/tripleo_ansible/playbooks/cli-overcloud-delete.yaml +++ b/tripleo_ansible/playbooks/cli-overcloud-delete.yaml @@ -36,7 +36,7 @@ state: absent - name: Delete OVN MAC Address ports tripleo_ovn_mac_addresses: - stack: "{{ stack_name }}" + stack_name: "{{ stack_name }}" - name: Delete heat stack openstack.cloud.stack: name: "{{ stack_name }}"