Blame 0001-fix-network-manager-disable-tty-if-no-console.patch

Olivier Lemasle 59c255
From 5ddcd63cc23dc8cf5afe00655bf05319a851a60f Mon Sep 17 00:00:00 2001
Olivier Lemasle 59c255
From: Beniamino Galvani <bgalvani@redhat.com>
Olivier Lemasle 59c255
Date: Mon, 27 Sep 2021 13:08:34 +0200
Olivier Lemasle 59c255
Subject: [PATCH 1/2] fix(network-manager): show output on console only with
Olivier Lemasle 59c255
 rd.debug enabled
Olivier Lemasle 59c255
Olivier Lemasle 59c255
The module should show the output on console only when initrd debugging is
Olivier Lemasle 59c255
enabled.
Olivier Lemasle 59c255
---
Olivier Lemasle 59c255
 modules.d/35network-manager/nm-config.sh      | 9 +++++++++
Olivier Lemasle 59c255
 modules.d/35network-manager/nm-initrd.service | 4 +++-
Olivier Lemasle 59c255
 2 files changed, 12 insertions(+), 1 deletion(-)
Olivier Lemasle 59c255
Olivier Lemasle 59c255
diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
Olivier Lemasle 59c255
index 74b6db54a4..85f89cb03d 100755
Olivier Lemasle 59c255
--- a/modules.d/35network-manager/nm-config.sh
Olivier Lemasle 59c255
+++ b/modules.d/35network-manager/nm-config.sh
Olivier Lemasle 59c255
@@ -16,6 +16,15 @@ if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
Olivier Lemasle 59c255
         echo '[logging]'
Olivier Lemasle 59c255
         echo 'level=TRACE'
Olivier Lemasle 59c255
     ) > /run/NetworkManager/conf.d/initrd-logging.conf
Olivier Lemasle 59c255
+
Olivier Lemasle 59c255
+    if [ -n "$DRACUT_SYSTEMD" ]; then
Olivier Lemasle 59c255
+        mkdir -p /run/systemd/system/nm-initrd.service.d
Olivier Lemasle 59c255
+        cat << EOF > /run/systemd/system/nm-initrd.service.d/tty-output.conf
Olivier Lemasle 59c255
+[Service]
Olivier Lemasle 59c255
+StandardOutput=tty
Olivier Lemasle 59c255
+EOF
Olivier Lemasle 59c255
+        systemctl --no-block daemon-reload
Olivier Lemasle 59c255
+    fi
Olivier Lemasle 59c255
 fi
Olivier Lemasle 59c255
 
Olivier Lemasle 59c255
 nm_generate_connections
Olivier Lemasle 59c255
diff --git a/modules.d/35network-manager/nm-initrd.service b/modules.d/35network-manager/nm-initrd.service
Olivier Lemasle 59c255
index b9806de084..ad14e91ad1 100644
Olivier Lemasle 59c255
--- a/modules.d/35network-manager/nm-initrd.service
Olivier Lemasle 59c255
+++ b/modules.d/35network-manager/nm-initrd.service
Olivier Lemasle 59c255
@@ -17,7 +17,9 @@ BusName=org.freedesktop.NetworkManager
Olivier Lemasle 59c255
 ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Reload u 0
Olivier Lemasle 59c255
 ExecStart=/usr/sbin/NetworkManager --debug
Olivier Lemasle 59c255
 KillMode=process
Olivier Lemasle 59c255
-StandardOutput=tty
Olivier Lemasle 59c255
+# The following gets changed to StandardOutput=tty by nm-config.sh
Olivier Lemasle 59c255
+# when debug is enabled.
Olivier Lemasle 59c255
+StandardOutput=null
Olivier Lemasle 59c255
 Environment=NM_CONFIG_ENABLE_TAG=initrd
Olivier Lemasle 59c255
 Restart=on-failure
Olivier Lemasle 59c255
 ProtectSystem=true
Olivier Lemasle 59c255
Olivier Lemasle 59c255
From aa55f515b51a67f5ac9298b7bcb11158cdf885ff Mon Sep 17 00:00:00 2001
Olivier Lemasle 59c255
From: Beniamino Galvani <bgalvani@redhat.com>
Olivier Lemasle 59c255
Date: Mon, 27 Sep 2021 13:25:55 +0200
Olivier Lemasle 59c255
Subject: [PATCH 2/2] fix(network-manager): disable tty output if the console
Olivier Lemasle 59c255
 is not usable
Olivier Lemasle 59c255
Olivier Lemasle 59c255
The network-manager module also writes logs to the console, so that it's easier
Olivier Lemasle 59c255
to debug network-related boot issues. If systemd can't open the console, the
Olivier Lemasle 59c255
service fails and network doesn't get configured.
Olivier Lemasle 59c255
Olivier Lemasle 59c255
Add a check to disable tty output when the console is not present or not
Olivier Lemasle 59c255
usable.
Olivier Lemasle 59c255
Olivier Lemasle 59c255
https://github.com/coreos/fedora-coreos-tracker/issues/943
Olivier Lemasle 59c255
---
Olivier Lemasle 59c255
 modules.d/35network-manager/nm-config.sh      | 11 ++++++++---
Olivier Lemasle 59c255
 modules.d/35network-manager/nm-initrd.service |  2 +-
Olivier Lemasle 59c255
 2 files changed, 9 insertions(+), 4 deletions(-)
Olivier Lemasle 59c255
Olivier Lemasle 59c255
diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
Olivier Lemasle 59c255
index 85f89cb03d..2b13d0a792 100755
Olivier Lemasle 59c255
--- a/modules.d/35network-manager/nm-config.sh
Olivier Lemasle 59c255
+++ b/modules.d/35network-manager/nm-config.sh
Olivier Lemasle 59c255
@@ -18,12 +18,17 @@ if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
Olivier Lemasle 59c255
     ) > /run/NetworkManager/conf.d/initrd-logging.conf
Olivier Lemasle 59c255
 
Olivier Lemasle 59c255
     if [ -n "$DRACUT_SYSTEMD" ]; then
Olivier Lemasle 59c255
-        mkdir -p /run/systemd/system/nm-initrd.service.d
Olivier Lemasle 59c255
-        cat << EOF > /run/systemd/system/nm-initrd.service.d/tty-output.conf
Olivier Lemasle 59c255
+        # Enable tty output if a usable console is found
Olivier Lemasle 59c255
+        # See https://github.com/coreos/fedora-coreos-tracker/issues/943
Olivier Lemasle 59c255
+        # shellcheck disable=SC2217
Olivier Lemasle 59c255
+        if [ -w /dev/console ] && (echo < /dev/console) > /dev/null 2> /dev/null; then
Olivier Lemasle 59c255
+            mkdir -p /run/systemd/system/nm-initrd.service.d
Olivier Lemasle 59c255
+            cat << EOF > /run/systemd/system/nm-initrd.service.d/tty-output.conf
Olivier Lemasle 59c255
 [Service]
Olivier Lemasle 59c255
 StandardOutput=tty
Olivier Lemasle 59c255
 EOF
Olivier Lemasle 59c255
-        systemctl --no-block daemon-reload
Olivier Lemasle 59c255
+            systemctl --no-block daemon-reload
Olivier Lemasle 59c255
+        fi
Olivier Lemasle 59c255
     fi
Olivier Lemasle 59c255
 fi
Olivier Lemasle 59c255
 
Olivier Lemasle 59c255
diff --git a/modules.d/35network-manager/nm-initrd.service b/modules.d/35network-manager/nm-initrd.service
Olivier Lemasle 59c255
index ad14e91ad1..3e24f52a0a 100644
Olivier Lemasle 59c255
--- a/modules.d/35network-manager/nm-initrd.service
Olivier Lemasle 59c255
+++ b/modules.d/35network-manager/nm-initrd.service
Olivier Lemasle 59c255
@@ -18,7 +18,7 @@ ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/
Olivier Lemasle 59c255
 ExecStart=/usr/sbin/NetworkManager --debug
Olivier Lemasle 59c255
 KillMode=process
Olivier Lemasle 59c255
 # The following gets changed to StandardOutput=tty by nm-config.sh
Olivier Lemasle 59c255
-# when debug is enabled.
Olivier Lemasle 59c255
+# when debug is enabled and a usable console is found.
Olivier Lemasle 59c255
 StandardOutput=null
Olivier Lemasle 59c255
 Environment=NM_CONFIG_ENABLE_TAG=initrd
Olivier Lemasle 59c255
 Restart=on-failure