tenks/ansible/node_networking.yml

36 lines
1.1 KiB
YAML

---
- name: Load current Tenks state
hosts: localhost
tags:
- node-networking
tasks:
- name: Load state from file
include_vars:
file: "{{ state_file_path }}"
name: tenks_state
- name: Configure hypervisor networking
hosts: hypervisors
tags:
- node-networking
vars:
nodes: >-
{{ hostvars.localhost.tenks_state[inventory_hostname].nodes
| default([]) }}
tasks:
- name: Configure veth pairs for each node
include_role:
name: veth-pair
vars:
veth_pair_peer_bridge_type: "{{ bridge_type }}"
veth_pair_peer_bridge: "{{ physnet.1 | bridge_name }}"
veth_pair_peer_link_name: "{{ physnet.0 | peer_link_name(physnet.1) }}"
veth_pair_source_link_name: "{{ physnet.0 | source_link_name(physnet.1) }}"
veth_pair_state: "{{ physnet.0.get('state', 'present') }}"
# Loop over each physical network for each node allocated to this host.
# Allocations are stored in localhost's vars.
loop: >-
{{ nodes | subelements('physical_networks') }}
loop_control:
loop_var: physnet