Files
ansible-playbooks/roles/networking/tasks/main.yml
T
2026-05-29 21:31:07 +02:00

60 lines
1.7 KiB
YAML

---
- name: Initialize network management variables
ansible.builtin.set_fact:
reboot_required: false
network_reload_required: false
- name: Setup persistent network interface(s)
ansible.builtin.include_role:
name: net_persist
public: true
vars:
interface: "{{ item }}"
loop: "{{ hostvars[inventory_hostname].network_interfaces | default([]) }}"
- name: Configure network interface(s)
ansible.builtin.include_role:
name: net_config
public: true
vars:
interface: "{{ item }}"
loop: "{{ hostvars[inventory_hostname].network_interfaces | default([]) }}"
- name: Remove stale podman-gw systemd-networkd configuration
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop:
- /etc/systemd/network/10-podman-gw.netdev
- /etc/systemd/network/20-podman-gw.network
register: stale_podman_gw
- name: Mark networkd reload required after podman-gw cleanup
ansible.builtin.set_fact:
network_reload_required: true
when: stale_podman_gw is changed
- name: Tear down podman-gw bridge interface if present
ansible.builtin.command: ip link delete podman-gw
register: podman_gw_link_del
changed_when: podman_gw_link_del.rc == 0
failed_when:
- podman_gw_link_del.rc != 0
- "'Cannot find device' not in podman_gw_link_del.stderr"
- "'does not exist' not in podman_gw_link_del.stderr"
- name: Reload networkd and resolved
ansible.builtin.systemd:
name: "{{ item }}"
state: reloaded
daemon_reload: true
loop:
- systemd-networkd
- systemd-resolved
when: reboot_required is false and network_reload_required is true
- name: Reboot the machine
when: reboot_required is true
ansible.builtin.reboot:
reboot_timeout: 60