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
This commit is contained in:
ramishra 2021-05-14 21:59:54 +05:30
parent a4b9cc52f7
commit 8ef33773a2
2 changed files with 18 additions and 17 deletions

View File

@ -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)

View File

@ -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 }}"