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