Re: NM in the initrd for Fedora CoreOS


On Fri, 2020-01-03 at 14:21 -0500, Colin Walters wrote:
I was trying out the current F31 dracut network-manager module, and
couldn't get it to do anything useful.

I don't understand what exactly didn't work (or what you tried).

Isn't it a dracut thing that when you boot with rd.debug that it
enables heavy debug logging? Do you have the logs of such a boot?

Is the "network-manager" dracut module loaded? That should be done by

I understand this is Fedora 31 CoreOS. But I am not familiar with that,
which versions of dracut and NetworkManager is that using exactly? Is
there something special compared to a "regular" Fedora installation?

If anyone has a bit of time to help out that'd be appreciated!

One higher level architectural question; why is the NM initrd code
structured as "run once and quit" rather than running as a systemd
unit, same way as the main OS, and default to having the switchroot
stop the service?

Good question. I don't know. Lubomir might know.

Maybe: if you run it as systemd service, you would need to know when NM
is done with configuration. In main OS, that works by NetworkManager-
wait-online.service. However, that internally uses D-Bus to find out
when NetworkManager is ready. In initrd that would need to be solved
without D-Bus -- which of course is doable. How it is currently, is
that NM runs with `--configure-and-quit=initrd`. This quits when
configuration is complete, and is thereby the signal to proceed.

Note that since you (usually) don't have D-Bus in initrd, you couldn't
talk to NetworkManager anyway, if it keeps running as a service. In the
past NM had a private socket to talk to, but that wasn't used, then it
bitrot and was eventually dropped. If need be, it could be added again.
What would be the use case?

But it doesn't seem much of a difference, is it? What would be the
advantage of running NM as a systemd service? Yes, I don't see why that
couldn't be done.


Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]