diff options
Diffstat (limited to 'roles/network')
| -rw-r--r-- | roles/network/README.md | 3 | ||||
| -rw-r--r-- | roles/network/handlers/main.yml | 17 | ||||
| -rw-r--r-- | roles/network/meta/argument_specs.yml | 12 | ||||
| -rw-r--r-- | roles/network/tasks/install-debian.yml | 28 | ||||
| -rw-r--r-- | roles/network/tasks/main.yml | 33 | ||||
| -rw-r--r-- | roles/network/vars/archlinux.yml | 7 | ||||
| -rw-r--r-- | roles/network/vars/debian.yml | 10 |
7 files changed, 43 insertions, 67 deletions
diff --git a/roles/network/README.md b/roles/network/README.md index f66857c2..6bb7122c 100644 --- a/roles/network/README.md +++ b/roles/network/README.md @@ -6,6 +6,3 @@ This role configure the basic networking functionality of a linux distro - `network_wifi_ssid` the name of the WIFI network to be configured (default: ""). - `network_wifi_pass` the passphrase of the WIFI network to be configure (default: ""). -- `network_packages` the packages to install for a distro (default in distro vars). -- `network_packages_removed` the packages to remove from a distro (default in distro vars). -- `network_services` the services names to start/enable for a distro (default in distro vars). diff --git a/roles/network/handlers/main.yml b/roles/network/handlers/main.yml index bd249b23..8bd5cdec 100644 --- a/roles/network/handlers/main.yml +++ b/roles/network/handlers/main.yml @@ -13,15 +13,6 @@ state: "restarted" when: not ansible_is_chroot -- name: "Restart systemd-networkd" - become: true - ansible.builtin.systemd_service: - name: "systemd-networkd" - enabled: false - state: "stopped" - when: not ansible_is_chroot - failed_when: false - - name: "Restart systemd-resolved" become: true ansible.builtin.systemd_service: @@ -30,11 +21,3 @@ state: "restarted" when: not ansible_is_chroot failed_when: false - -- name: "Restart dhcpcd" - become: true - ansible.builtin.systemd_service: - name: "dhcpcd" - enabled: true - state: "restarted" - when: not ansible_is_chroot diff --git a/roles/network/meta/argument_specs.yml b/roles/network/meta/argument_specs.yml index 32eed955..58cc4efa 100644 --- a/roles/network/meta/argument_specs.yml +++ b/roles/network/meta/argument_specs.yml @@ -12,18 +12,6 @@ argument_specs: description: "The WIFI Passphrase to be configure when provided" required: false default: "" - network_packages: - type: "list" - description: "The network packages to install" - elements: "str" - network_packages_removed: - type: "list" - description: "The network packages to remove" - elements: "str" - network_services: - type: "list" - description: "The network services to enable" - elements: "str" network_ipv4_address: type: "str" description: "The network IP(4) address to configure when provided" 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: diff --git a/roles/network/vars/archlinux.yml b/roles/network/vars/archlinux.yml index 1bed28cb..4c3fb0b2 100644 --- a/roles/network/vars/archlinux.yml +++ b/roles/network/vars/archlinux.yml @@ -3,7 +3,10 @@ network_packages: - "dhcpcd" - "networkmanager" -network_services: +network_enabled_services: - "systemd-resolved" - - "systemd-networkd" - "NetworkManager" + +network_disabled_services: + - "dhcpcd" + - "systemd-networkd" diff --git a/roles/network/vars/debian.yml b/roles/network/vars/debian.yml index 20985d98..94eccf4a 100644 --- a/roles/network/vars/debian.yml +++ b/roles/network/vars/debian.yml @@ -5,6 +5,14 @@ network_packages: - "network-manager" - "dnsutils" -network_services: +network_enabled_services: - "systemd-resolved" - "NetworkManager" + +network_disabled_services: + - "dhcpcd" + - "avahi-daemon" + - "networking" + - "wpa_supplicant" + - "resolvconf" + - "systemd-networkd" |
