oopen-server/scripts/test.yml

56 lines
2.2 KiB
YAML

---
- hosts: all
tasks:
- name: define traditional ethernet facts
set_fact:
ansible_netdev: "{% set ansible_netdev = ansible_netdev|default([]) + [hostvars[inventory_hostname]['ansible_' + item]] %}{{ ansible_netdev|list }}"
when:
- hostvars[inventory_hostname]['ansible_' + item]['type'] is defined
- hostvars[inventory_hostname]['ansible_' + item]['type'] == 'ether'
- inventory_hostname not in groups['lxc_host']|string
with_items:
- "{{ hostvars[inventory_hostname]['ansible_interfaces'] }}"
- name: define traditional bridge facts
set_fact:
ansible_netdev: "{% set ansible_netdev = ansible_netdev|default([]) + [hostvars[inventory_hostname]['ansible_' + item]] %}{{ ansible_netdev|list }}"
when:
- hostvars[inventory_hostname]['ansible_' + item]['type'] is defined
- hostvars[inventory_hostname]['ansible_' + item]['type'] == 'bridge'
- "groups['lxc_host']|string is search(inventory_hostname)"
with_items:
- "{{ hostvars[inventory_hostname]['ansible_interfaces'] }}"
- name: set fact - ipv6 / ipv4 addresses
set_fact:
host_ipv6_addr: "{% set host_ipv6_addr = item.ipv6.0.address + ' ' + (item.ipv6.1.address is match 'f.*') | ternary('',item.ipv6.1.address) %}{{ host_ipv6_addr | trim }}"
host_ipv4_addr: "{% set host_ipv4_addr = item.ipv4.address %}{{ host_ipv4_addr| trim }}"
when: "item.ipv6.0.address is defined and item.ipv6.0.address|length > 0"
loop: "{{ ansible_netdev }}"
loop_control:
label: "{{ item.device }}"
- name: Debug message
debug:
msg:
- "index: {{ idx + 1 }}"
- "device: {{ item.device }}"
- "ipv4-address: {{ item.ipv4.address }}"
- "ipv4-address: {{ host_ipv4_addr }}"
- "ipv6-address: {{ host_ipv6_addr }}"
- "ipv6-address: {{ item.ipv6.0.address }}{{ (item.ipv6.1.address is match 'f.*') | ternary('', ' ' + item.ipv6.1.address) }}"
loop: "{{ ansible_netdev }}"
loop_control:
label: "{{ item.device }}"
index_var: idx
when: "item.ipv6.0.address is defined and item.ipv6.0.address|length > 0"
# - name: Debug message - ipv6-address(es)
# debug:
# msg: 'Ipv6 Address(es): {{ ansible_ipv6 }}'