From d82ac00d53c8d348c9f257c81c6c08eae8521086 Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Fri, 14 Jun 2024 10:07:20 -0400 Subject: [PATCH] overlays: drop `coreos-multipath-trigger.service` This service was needed in the past to make multipath + LUKS work well. The underlying bug seems to have been fixed now as I can no longer reproduce it in Fedora or RHEL 9.4. Conveniently, this also works around a bug in which that service would sometimes hang because of a bug[[1]] in systemd which is still outstanding in RHEL 9. Drop it. We don't have any tests for this yet. Multipath + LUKS currently doesn't work but should be fixed soon[[2]]. A test will be added as part of that work. [1]: https://github.com/systemd/systemd/issues/29863 [2]: https://github.com/coreos/fedora-coreos-tracker/issues/1728 Fixes: https://issues.redhat.com/browse/OCPBUGS-29325 (cherry picked from commit cc2e865b50bc2cf9d136b76ca6cf32b73757af4a) --- .../coreos-multipath-generator | 3 --- .../coreos-multipath-trigger.service | 19 ------------------- .../coreos-multipath-wait.target | 2 -- .../35coreos-multipath/module-setup.sh | 2 -- 4 files changed, 26 deletions(-) delete mode 100644 overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-trigger.service diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-generator b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-generator index 7165620fb1..f073fee942 100755 --- a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-generator +++ b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-generator @@ -24,7 +24,4 @@ add_requires() { if getargbool 0 rd.multipath; then add_requires coreos-multipath-wait.target initrd.target - if ! getargbool 0 ignition.firstboot; then - add_requires coreos-multipath-trigger.service initrd.target - fi fi diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-trigger.service b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-trigger.service deleted file mode 100644 index 524dc9140e..0000000000 --- a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-trigger.service +++ /dev/null @@ -1,19 +0,0 @@ -# This unit is needed in the LUKS-on-multipath case on subsequent boots. When -# multipathd takes ownership of the individual paths, the by-uuid/ symlink -# which systemd-cryptsetup@.service binds to gets lost. So we retrigger udev -# here to make sure it's re-added. -# -# This is tracked at: -# https://bugzilla.redhat.com/show_bug.cgi?id=1963242 - -[Unit] -Description=CoreOS Trigger Multipath -DefaultDependencies=false -Requires=coreos-multipath-wait.target -After=coreos-multipath-wait.target -Before=cryptsetup-pre.target - -[Service] -Type=oneshot -ExecStart=/usr/sbin/udevadm trigger --settle --subsystem-match block -RemainAfterExit=yes diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-wait.target b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-wait.target index 5da2ee4bd6..faff7a3186 100644 --- a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-wait.target +++ b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-multipath-wait.target @@ -15,6 +15,4 @@ OnFailureJobMode=isolate # already have our multipath target. Before=coreos-ignition-setup-user.service -# This is already enforced by coreos-multipath-trigger.service, though ideally -# eventually we can get rid of that one and then we *would* need this. Before=cryptsetup-pre.target diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/module-setup.sh b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/module-setup.sh index 92a33e7e3f..b04ba58e96 100755 --- a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/module-setup.sh +++ b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/module-setup.sh @@ -23,6 +23,4 @@ install() { # we don't enable these; they're enabled dynamically via the generator inst_simple "$moddir/coreos-multipath-wait.target" \ "$systemdsystemunitdir/coreos-multipath-wait.target" - inst_simple "$moddir/coreos-multipath-trigger.service" \ - "$systemdsystemunitdir/coreos-multipath-trigger.service" }