File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change 34
34
- name : Gather OpenStack infrastructure information
35
35
command : openstack stack output show {{ cluster_name }} cluster_group -f json
36
36
register : stack_output
37
+ changed_when : false
37
38
38
39
- name : Extract node groups
39
40
set_fact :
40
41
cluster_group : " {{ stack_output.stdout | from_json }}"
41
42
when : cluster_state == 'query'
42
43
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
+
43
63
- name : Reset the python interpreter
44
64
set_fact :
45
65
ansible_python_interpreter : " {{ old_python_interpreter }}"
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ cluster
16
16
{% for group_data in cluster_group .output_value %}
17
17
[{{ cluster_name }}_{{ group_data.group }}]
18
18
{% for node_data in group_data .nodes %}
19
- {{ node_data.name }} ansible_host={{ node_data.ip }}
19
+ {{ node_data.name }} ansible_host={{ node_data.ip }} server_networks='{{ cluster_server_interfaces[node_data.i d] .server_networks | to_json }}'
20
20
{% endfor %}
21
21
22
22
[{{ cluster_name }}_{{ group_data.group }}:vars]
You can’t perform that action at this time.
0 commit comments