From 80f67656ff9068480de86a017458e4c80827c7e5 Mon Sep 17 00:00:00 2001 From: Joseph Marrero Date: Wed, 26 Jul 2023 16:31:36 -0400 Subject: [PATCH] ignition-ostree: make sure we don't mount /sysroot before transposefs When enabling multipath the ignition-ostree-mount-firstboot-sysroot service loses to the systemd's generator, which causes /sysroot to be mounted before we finish transposing the fs. This change makes sure we wait to mount the /sysroot until we are done. This was reported via: https://issues.redhat.com/browse/OCPBUGS-16157 --- .../ignition-ostree-transposefs-autosave-xfs.service | 5 +++++ .../ignition-ostree-transposefs-restore.service | 5 +++++ .../ignition-ostree-transposefs-save.service | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-autosave-xfs.service b/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-autosave-xfs.service index b914e98c72..3e0262bfe1 100644 --- a/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-autosave-xfs.service +++ b/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-autosave-xfs.service @@ -5,6 +5,11 @@ After=ignition-disks.service # Avoid racing with UUID regeneration After=ignition-ostree-uuid-root.service After=ignition-ostree-growfs.service +Before=initrd-root-fs.target +# https://issues.redhat.com/browse/OCPBUGS-16157 +# On multipath systems mounting the /sysroot before +# the ignition-ostree services causes the transpose to fai. +Before=sysroot.mount Before=ignition-ostree-transposefs-restore.service OnFailure=emergency.target OnFailureJobMode=isolate diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-restore.service b/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-restore.service index b64858ffd7..ccf383f69c 100644 --- a/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-restore.service +++ b/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-restore.service @@ -6,6 +6,11 @@ After=ignition-disks.service After=ignition-ostree-uuid-root.service After=ignition-ostree-growfs.service Before=ignition-ostree-mount-firstboot-sysroot.service +# https://issues.redhat.com/browse/OCPBUGS-16157 +# On multipath systems mounting the /sysroot before +# the ignition-ostree services causes the transpose to fai. +Before=initrd-root-fs.target +Before=sysroot.mount OnFailure=emergency.target OnFailureJobMode=isolate diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-save.service b/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-save.service index bc03499ecb..64b97c1c6f 100644 --- a/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-save.service +++ b/overlay.d/05core/usr/lib/dracut/modules.d/40ignition-ostree/ignition-ostree-transposefs-save.service @@ -7,6 +7,11 @@ ConditionKernelCommandLine=ostree ConditionPathIsDirectory=/run/ignition-ostree-transposefs # Any services looking at mounts need to order after this # because it causes device re-probing. +# https://issues.redhat.com/browse/OCPBUGS-16157 +# On multipath systems mounting the /sysroot before +# the ignition-ostree services causes the transpose to fai. +Before=initrd-root-fs.target +Before=sysroot.mount After=coreos-gpt-setup.service OnFailure=emergency.target OnFailureJobMode=isolate