diff options
| author | Ahmed Abdelhalim <[email protected]> | 2025-08-16 02:26:38 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2025-08-16 03:14:37 +0200 |
| commit | 08e7307ea0b311e081560ed6126a6c0d196215e4 (patch) | |
| tree | b17ddaaed32dc6d96c8d3a0cc93453d5d1ca10f1 /roles/network/tasks | |
| parent | 5432aa5e60c851d3a73bd4204d6b2c7adbb538b1 (diff) | |
Refactor network role to remove NetworkManager/dhcpcd/networkd conflict
Diffstat (limited to 'roles/network/tasks')
| -rw-r--r-- | roles/network/tasks/install-debian.yml | 28 | ||||
| -rw-r--r-- | roles/network/tasks/main.yml | 33 |
2 files changed, 29 insertions, 32 deletions
diff --git a/roles/network/tasks/install-debian.yml b/roles/network/tasks/install-debian.yml index 4c09c1c9..6f94ff5c 100644 --- a/roles/network/tasks/install-debian.yml +++ b/roles/network/tasks/install-debian.yml @@ -5,34 +5,6 @@ pkg: "{{ network_packages }}" state: "present" -- name: "Set network_default_services facts" - ansible.builtin.set_fact: - network_default_services: - - "dhcpcd" - - "avahi-daemon" - - "networking" - - "wpa_supplicant" - - "resolvconf" - - "systemd-networkd" - -- name: "Stop/Disable conflicting services" - become: true - ansible.builtin.systemd_service: - name: "{{ item }}" - enabled: false - state: "stopped" - with_items: "{{ network_default_services }}" - when: not ansible_is_chroot - failed_when: false - # Not required for boot - -- name: "(chroot): Disable conflicting services" - ansible.builtin.command: - cmd: "systemctl disable {{ network_default_services | join(' ') }}" - changed_when: true - when: ansible_is_chroot - # noqa: command-instead-of-module module doesn't work inside chroot - - name: "Ensure avahi packages are removed" become: true ansible.builtin.apt: diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 28a4b56d..e6928fd6 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -13,11 +13,38 @@ fail_msg: "network_ipv4_address and network_ipv4_gateway are required together" when: network_ipv4_address is defined or network_ipv4_gateway is defined -- name: "(chroot): Ensure network_services are enabled" +- name: "Ensure network enabled services are enabled" + become: true + ansible.builtin.systemd_service: + name: "{{ item }}" + enabled: true + state: "started" + with_items: "{{ network_enabled_services }}" + when: not ansible_is_chroot + +- name: "(chroot): Ensure network enabled services are enabled" ansible.builtin.command: cmd: "systemctl enable {{ item }}" changed_when: true - with_items: "{{ network_services }}" + with_items: "{{ network_enabled_services }}" + when: ansible_is_chroot + # noqa: command-instead-of-module module doesn't work inside chroot + +- name: "Ensure network disabled services are disabled" + become: true + ansible.builtin.systemd_service: + name: "{{ item }}" + enabled: false + state: "stopped" + with_items: "{{ network_disabled_services }}" + when: not ansible_is_chroot + failed_when: false + +- name: "(chroot): Ensure network disabled services are disabled" + ansible.builtin.command: + cmd: "systemctl disable {{ item }}" + changed_when: true + with_items: "{{ network_disabled_services }}" when: ansible_is_chroot # noqa: command-instead-of-module module doesn't work inside chroot @@ -26,9 +53,7 @@ notify: - "Reload systemd" - "Restart NetworkManager" - - "Restart systemd-networkd" - "Restart systemd-resolved" - - "Restart dhcpcd" block: - name: "Configure systemd-resolved" ansible.builtin.template: |
