summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roles/network/README.md3
-rw-r--r--roles/network/handlers/main.yml17
-rw-r--r--roles/network/meta/argument_specs.yml12
-rw-r--r--roles/network/tasks/install-debian.yml28
-rw-r--r--roles/network/tasks/main.yml33
-rw-r--r--roles/network/vars/archlinux.yml7
-rw-r--r--roles/network/vars/debian.yml10
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"