Skip to content

Commit 93660db

Browse files
author
Bharat Kunwar
committed
Add server_networks metadata to the inventory so this is on par with os-container-infra
1 parent 0fca729 commit 93660db

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

tasks/main.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,32 @@
3434
- name: Gather OpenStack infrastructure information
3535
command: openstack stack output show {{ cluster_name }} cluster_group -f json
3636
register: stack_output
37+
changed_when: false
3738

3839
- name: Extract node groups
3940
set_fact:
4041
cluster_group: "{{ stack_output.stdout | from_json }}"
4142
when: cluster_state == 'query'
4243

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+
4363
- name: Reset the python interpreter
4464
set_fact:
4565
ansible_python_interpreter: "{{ old_python_interpreter }}"

templates/cluster_inventory.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ cluster
1616
{% for group_data in cluster_group.output_value %}
1717
[{{ cluster_name }}_{{ group_data.group }}]
1818
{% 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.id].server_networks | to_json }}'
2020
{% endfor %}
2121

2222
[{{ cluster_name }}_{{ group_data.group }}:vars]

0 commit comments

Comments
 (0)