-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unfreeze dracut, adapt for NM via systemd in initrd #1068
unfreeze dracut, adapt for NM via systemd in initrd #1068
Conversation
6216680
to
8fa89fb
Compare
/hold This needs to wait until we get teaming fixed: dracutdevs/dracut#1547 |
Running local kola tests I see the multipath test is failing
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't look at the details, but this looks sane to me
Is it failing consistently or just flaky? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One comment, but overall LGTM! Nice work patching dracut for this.
@@ -30,8 +30,8 @@ Description=Copy CoreOS Firstboot Networking Config | |||
ConditionPathExists=/usr/lib/initrd-release | |||
DefaultDependencies=false | |||
Before=ignition-diskful.target | |||
Before=nm-run.service |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, should we keep nm-run.service
and just add nm-initrd.service
? That way if nm-run.service
is backported to RHEL, but not nm-initrd.service
, this will still work for RHCOS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I highly doubt that will happen as nm-run.service was only in there for one release of dracut (053
) and was replaced by the full systemd+dbus implementation because the NM team actively wants it for the next version of RHEL.
IMHO I'd rather it fail so we could consider and fix our wrong assumption.
This should also fix coreos/fedora-coreos-tracker#849. |
yep |
8fa89fb
to
170176c
Compare
Upstream dracut updated NM to run as a systemd service (with full dbus support) in the initrd in [1]. Adapt our systemd units to handle this case. This should still work fine for RHCOS because we still have `Before=dracut-initqueue.service`, which can be dropped when everyone is on dracut 0.54+. Fixes: coreos/fedora-coreos-tracker#842
Contains upstream fixes needed to get NM running via systemd+dbus in the initramfs without issues. - dracutdevs/dracut#1547 - dracutdevs/dracut#1548 - dracutdevs/dracut#1552 Needed to get dracut unfrozen: coreos/fedora-coreos-tracker#842 (comment)
5c21919
to
cf8ec8f
Compare
rebased on top of latest |
…-kargs We've seen races with ignition-kargs.service, which accesses /boot rw. Let's introduce some ordering here. Need to use `Before` because otherwise we get a systemd ordering cycle. Fixes: coreos/fedora-coreos-tracker#883
…pagate-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.
cf8ec8f
to
99ecca7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
# We've seen races with ignition-kargs.service, which accesses /boot rw. | ||
# Let's introduce some ordering here. Need to use `Before` because otherwise | ||
# we get a systemd ordering cycle. https://github.com/coreos/fedora-coreos-tracker/issues/883 | ||
Before=ignition-kargs.service |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm OK yeah that makes sense now looking at the cycle in coreos/fedora-coreos-tracker#883 (comment).
We need networking to fetch the config to apply the kargs. And this service obviously has to run before networking comes up since the whole point is network configuration.
Upstream dracut updated NM to run as a systemd service
(with full dbus support) in the initrd in [1]. Adapt our
systemd units to handle this case.
This should still work fine for RHCOS because we still have
Before=dracut-initqueue.service
, which can be dropped wheneveryone is on dracut 0.54+.
Fixes: coreos/fedora-coreos-tracker#842