From 53950dcebc54c9156699de4b10f1b44634b3ed17 Mon Sep 17 00:00:00 2001
From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de>
Date: Sat, 10 Jun 2023 15:15:34 +0200
Subject: [PATCH] networkd: RHEL compatibility

---
 networkd/tasks/main.yml | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/networkd/tasks/main.yml b/networkd/tasks/main.yml
index 60ae009..d5d6af7 100644
--- a/networkd/tasks/main.yml
+++ b/networkd/tasks/main.yml
@@ -1,5 +1,11 @@
 ---
 
+- name: install systemd-networkd
+  package:
+    name: systemd-networkd
+    state: present
+  when: is_rhel
+
 - name: ensure networkd has a valid configuration
   template:
     src: "20-wired-{{ item.1.type }}.network.j2"
@@ -61,23 +67,30 @@
   when: vlan.type == 'vlan'
 
 - name: ensure networkd is enabled and running
-  service:
-    name: systemd-networkd
+  systemd:
+    name: systemd-networkd.service
     state: started
     enabled: true
 
 - name: ensure legacy methods are disabled
   systemd:
-    name: networking
+    name: "{{ item }}"
     enabled: false
+  loop:
+    - networking.service
+    - NetworkManager.service
+    - NetworkManager-wait-online.service
   ignore_errors: true
 
-- name: ensure legacy methods are really disabled
-  apt:
-    name: ifupdown
+- name: ensure legacy methods are unistalled
+  package:
+    name:
+      - ifupdown
+      - network-manager  # Debian
+      - NetworkManager  # RHEL
     state: absent
 
 - name: ensure we wait for network to be online
-  service:
-    name: systemd-networkd-wait-online
+  systemd:
+    name: systemd-networkd-wait-online.service
     enabled: true
-- 
GitLab