Skip to content

Commit 06cfd0e

Browse files
author
Bharat Kunwar
committed
Only query server interfaces when cluster_state is not absent
1 parent b932253 commit 06cfd0e

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

tasks/main.yml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -41,31 +41,32 @@
4141
cluster_group: "{{ stack_output.stdout | from_json }}"
4242
when: cluster_state == 'query'
4343

44-
- name: Extract server ids from cluster group output
45-
set_fact:
46-
cluster_servers: "{{ cluster_group.output_value | json_query('[*].nodes[*].id') | flatten }}"
47-
cluster_interfaces: "{{ cluster_net | map(attribute='net') | list }}"
48-
49-
- name: Attach interfaces to servers
50-
os_server_interface:
51-
auth_type: "{{ cluster_auth_type or omit }}"
52-
auth: "{{ cluster_auth or omit }}"
53-
cloud: "{{ cluster_cloud or omit }}"
54-
state: "{{ cluster_state }}"
55-
server_id: "{{ item }}"
56-
interfaces: "{{ cluster_interfaces }}"
57-
with_items: "{{ cluster_servers }}"
58-
register: openstack_server_interfaces
59-
60-
- set_fact:
61-
cluster_server_interfaces: "{{ dict(cluster_servers | zip(openstack_server_interfaces.results)) }}"
62-
6344
- name: Reset the python interpreter
6445
set_fact:
6546
ansible_python_interpreter: "{{ old_python_interpreter }}"
6647
when: cluster_venv != None
6748

6849
- block:
50+
- name: Extract server ids from cluster group output
51+
set_fact:
52+
cluster_servers: "{{ cluster_group.output_value | json_query('[*].nodes[*].id') | flatten }}"
53+
cluster_interfaces: "{{ cluster_net | map(attribute='net') | list }}"
54+
55+
- name: Attach interfaces to servers
56+
os_server_interface:
57+
auth_type: "{{ cluster_auth_type or omit }}"
58+
auth: "{{ cluster_auth or omit }}"
59+
cloud: "{{ cluster_cloud or omit }}"
60+
state: "{{ cluster_state }}"
61+
server_id: "{{ item }}"
62+
interfaces: "{{ cluster_interfaces }}"
63+
with_items: "{{ cluster_servers }}"
64+
register: openstack_server_interfaces
65+
66+
- name: Convert list of interfaces to a dictionary for easy lookup in inventory templating step
67+
set_fact:
68+
cluster_server_interfaces: "{{ dict(cluster_servers | zip(openstack_server_interfaces.results)) }}"
69+
6970
- name: Extract node objects
7071
set_fact:
7172
cluster_nodes: "{{ cluster_group.output_value | sum(attribute='nodes', start=[]) }}"

0 commit comments

Comments
 (0)