diff --git a/dracut/30ignition/ignition-ask-var-mount.service b/dracut/30ignition/ignition-ask-var-mount.service index 902869b..ce57366 100644 --- a/dracut/30ignition/ignition-ask-var-mount.service +++ b/dracut/30ignition/ignition-ask-var-mount.service @@ -10,6 +10,8 @@ DefaultDependencies=false After=basic.target Before=ostree-prepare-root.service Before=ignition-complete.target +OnFailure=emergency.target +OnFailureJobMode=isolate [Service] Type=oneshot diff --git a/dracut/30ignition/ignition-complete.target b/dracut/30ignition/ignition-complete.target index 655dd39..287abf8 100644 --- a/dracut/30ignition/ignition-complete.target +++ b/dracut/30ignition/ignition-complete.target @@ -5,11 +5,9 @@ # initrd. [Unit] Description=Ignition Complete +OnFailure=emergency.target +OnFailureJobMode=isolate # Make sure we stop all the units before switching root Conflicts=initrd-switch-root.target umount.target Conflicts=dracut-emergency.service emergency.service emergency.target - -# This ensures that we fail the boot if the stopping units fails -OnFailure=emergency.target -OnFailureJobMode=isolate diff --git a/dracut/30ignition/ignition-disks.service b/dracut/30ignition/ignition-disks.service index 07eca47..635f5f7 100644 --- a/dracut/30ignition/ignition-disks.service +++ b/dracut/30ignition/ignition-disks.service @@ -2,6 +2,8 @@ Description=Ignition (disks) DefaultDependencies=false Before=ignition-complete.target +OnFailure=emergency.target +OnFailureJobMode=isolate # This stage runs between `basic.target` and `initrd-root-fs.target`, # see https://www.freedesktop.org/software/systemd/man/bootup.html diff --git a/dracut/30ignition/ignition-files.service b/dracut/30ignition/ignition-files.service index cb4ee95..ed6925c 100644 --- a/dracut/30ignition/ignition-files.service +++ b/dracut/30ignition/ignition-files.service @@ -2,6 +2,8 @@ Description=Ignition (files) DefaultDependencies=false Before=ignition-complete.target +OnFailure=emergency.target +OnFailureJobMode=isolate # Ignition files stage starts after /sysroot is mounted. Requires=initrd-root-fs.target diff --git a/dracut/30ignition/ignition-remount-sysroot.service b/dracut/30ignition/ignition-remount-sysroot.service index a6d32c3..9b1e546 100644 --- a/dracut/30ignition/ignition-remount-sysroot.service +++ b/dracut/30ignition/ignition-remount-sysroot.service @@ -7,6 +7,8 @@ DefaultDependencies=no After=sysroot.mount Before=ignition-complete.target ConditionPathIsReadWrite=!/sysroot +OnFailure=emergency.target +OnFailureJobMode=isolate [Service] Type=oneshot diff --git a/dracut/30ignition/ignition-setup.service b/dracut/30ignition/ignition-setup.service index 85cc147..f9a2440 100644 --- a/dracut/30ignition/ignition-setup.service +++ b/dracut/30ignition/ignition-setup.service @@ -2,6 +2,8 @@ Description=Ignition (setup) DefaultDependencies=false Before=ignition-complete.target +OnFailure=emergency.target +OnFailureJobMode=isolate Requires=local-fs-pre.target Before=local-fs-pre.target