On 06/09/22 15:10, Laszlo Ersek wrote:
nm-online -x -q || ( systemctl -q is-active systemd-networkd && /usr/lib/systemd/systemd-networkd-wait-online -q --timeout=30 )
If the final exit status is nonzero, I think that's not a problem for the firstboot script.
The whole command seems to make sense also when nm-online, systemctl, or both, are missing (a missing command results in exit status 127).
Unfortunately, this does not work. Even though the command succeeds very quickly (implying network is available), the DNF throws a CURL error that it cannot access the repo (DNS resolution failure). So basically "nm-online" lies. Compare: https://bugzilla.redhat.com/show_bug.cgi?id=1482476#c4
My current workaround is to use "/usr/bin/sleep 60" instead of the "/usr/bin/nm-online -s -q --timeout=30" command in the service unit file.
:/ NB, when I log in at the root prompt of the just-firstbooted-guest (on tty1), and run "nm-online -x -q", it succeeds alright, and I can even ssh into the guest... (more precisely, I get an ssh password prompt; I can't actually log in as root via ssh due to the default sshd config not permitting that). We can't rely on "nm-online" if it doesn't do its advertized job! Laszlo