From 99ecca723d31d5cf76a3dc0bb400722ef36381f2 Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Fri, 9 Jul 2021 15:57:17 -0400 Subject: [PATCH] 35coreos-multipath: add Before=initrd-parse-etc.service in coreos-propagate-multipath-conf.service Otherwise, we'll end up racing with `initrd-cleanup.service` which wants to kill everything. It has `After=initrd.target` and we do have `Before=initrd.target`, but that's not being respected, we think because `initrd-parse-etc.service` does an explicit `systemctl start` on it. Anyway, we need to dig more into this, but for now this will unblock us. --- .../coreos-propagate-multipath-conf.service | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-propagate-multipath-conf.service b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-propagate-multipath-conf.service index c475eaa6c5..27d1d5e7fa 100644 --- a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-propagate-multipath-conf.service +++ b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-multipath/coreos-propagate-multipath-conf.service @@ -5,6 +5,11 @@ Before=initrd.target # we write to the rootfs, so run after it's ready After=initrd-root-fs.target +# That service starts initrd-cleanup.service which will race with us completing +# before we get nuked. Need to get to the bottom of it, but for now we need +# this (XXX: add link to systemd issue here). +Before=initrd-parse-etc.service + ConditionKernelCommandLine=rd.multipath=default OnFailure=emergency.target