Hi, 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. See: https://github.com/coreos/fedora-coreos-config/pull/259
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 modules.d/40network/module-setup.sh 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. best, Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part