ansible-role-basic-system-s.../tasks/network-interfaces.yml

46 lines
2.0 KiB
YAML
Raw Normal View History

---
- name: network-interfaces | Manage additional network interfaces, Ubuntu style
tags:
- network_interface
- networking
when:
- ansible_distribution == 'Ubuntu'
- ubuntu_configure_additional_interfaces
block:
- name: network-interfaces | Check if netplan is in use
ansible.builtin.stat:
path: /etc/netplan
register: netplan_in_use
- name: network-interfaces | Check if additional interfaces have been defined
ansible.builtin.set_fact:
2023-12-04 12:20:46 +01:00
net_ints: '{% for i in ansible_interfaces %}{% if i != ansible_lo.device and i != ansible_default_ipv4.interface %}"{{ i }}"{% if not loop.last %},{% endif %}{% endif %}{% endfor %}'
when: netplan_in_use.stat.isdir
- name: network-interfaces | Create a dictionary of additional interfaces
ansible.builtin.set_fact:
2023-12-04 12:20:46 +01:00
new_ints: '[{% for i in ansible_interfaces %}{% if i != ansible_lo.device and i != ansible_default_ipv4.interface %}"{{ i }}"{% if not loop.last %},{% endif %}{% endif %}{% endfor %}]'
when: net_ints is defined and net_ints | length != 0
- name: network-interfaces | Print the loopback interface name
ansible.builtin.debug:
msg: "Loopback interface: {{ ansible_lo.device }}"
- name: network-interfaces | Print the name of the default interface
ansible.builtin.debug:
msg: "Loopback interface: {{ ansible_default_ipv4.interface }}"
2023-10-06 18:15:45 +02:00
- name: network-interfaces | Print the additional interfaces
ansible.builtin.debug:
msg: "Interfaces list: {{ new_ints }}"
- name: network-interfaces | Install the network interface file
ansible.builtin.template:
src: netplan-70-ansible.yaml.j2
dest: /etc/netplan/70-ansible.yaml
owner: root
group: root
mode: "0644"
2023-10-26 13:03:15 +02:00
when: ubuntu_netplan_interfaces is defined and ubuntu_netplan_interfaces | length != 0
notify: Netplan Apply
2023-10-26 13:03:15 +02:00
- name: Force the Netplan Apply command execution
ansible.builtin.meta: flush_handlers
tags:
- network_interface
- networking