Comment 1 for bug 1965521

Revision history for this message
Nick Tait (nick.t) wrote :

I discovered that above workaround isn't ideal when the server has multiple network interfaces because the systemd-networkd-wait-online command above will wait for all interfaces to reach routable status. This may cause systemd-networkd-wait-online to timeout (after 10 seconds as per --timeout argument), and if you then run "systemctl status named.service", it shows a failed status for the ExecStartPre command, which isn't ideal.

I experimented with including "--any" in the systemd-networkd-wait-online arguments, but found this wasn't 100% reliable and TBH I'm not entirely sure why. But for now I've resorted to including the interface name in the above command instead, such as:

ExecStartPre=-/lib/systemd/systemd-networkd-wait-online --interface=eno1:routable --timeout=10 --quiet

Obviously the interface name is machine-specific, which makes it impractical to include this command as a general purpose fix in the repo version of named.service. So I've now come to the conclusion that the best way to fix this issue is to implement a change to BIND itself (i.e. /usr/sbin/named), to make it retry a few times before logging the error message above? (FYI This is outside of the realm of my skill set so I guess I'm asking for the maintainer of BIND to determine the feasibility of this request?)

Thanks,
Nick.