Checking for network online

Doman, Jonathan jonathan.doman at intel.com
Sat Feb 19 06:04:00 AEDT 2022


On Thu, 2022-02-17 at 14:54 -0800, Johnathan Mantey wrote:
> /I/ntel has recently run into an issue regarding a systemd service, and 
> we're interested in soliciting feedback from the community.
> 
> Issue: systemd-networkd-wait-online.service stalls for 120 seconds when 
> the managed NICs do not have a network connection.
> 
> TLDR: Should OpenBMC remove systemd-networkd-wait-online.service 
> universally?
> 
> System Config: All NICs in the system are not connected to an active 
> network.
> 
> Test Process: The system under test (SUT) has AC removed, and some time 
> later AC applied. Wait for BMC/BIOS to boot
> 
> Behavior: U-Boot hands control to the Linux boot process, and the 
> systemd services are started. When systemd-networkd-wait-online.service 
> starts it stalls waiting for the NICs to enter a fully functional state. 
> This never happens during the default 120 second timeout period for this 
> service. When the timeout elapses, an error message is logged to the 
> journal reporting the service exited unsuccessfully.
> 
> Issues: This service blocks entry to multi-user.target.
> phosphor-state-manager uses multi-user.target to report the BMC is ready 
> to use.
> This is reported via IPMI Get Device ID.
> The Intel BIOS is blocked from booting until 
> systemd-networkd-wait-online times out.
> BMC entry to multi-user.target is delayed. Journal entries are created.
> 
> Question for the community: Given the negative side effects caused by 
> running this service does the community want to have this service 
> collectively removed from global build image?

I think the initial discussion in #general got to the root of the
issue: multi-user.target Wants rsyslog.service, which in turn is
ordered After network-online.target. rsyslog seems to be the only thing
tying multi-user to network-online.

Did you try removing the Wants/After=network-online.target from
rsyslog.service to see if the situation improves? If it does, then we
can discuss removing that dependency or making it configurable.


More information about the openbmc mailing list