Package: chrony
Version: 4.8-2
Severity: important

When chonyd starts up on one of my systems, it starts before the
network has been brought up, meaning that it fails to bind to an IP
address or interface. It thus doesn't work as a time server unless I
manually restart chronyd once the system is fully up.

A fix is to add the following under [Unit] in chronyd.service in
/etc/systemd/system:

After=network.target

This delays the start of chronyd by just enough so that when it
starts, enough of the network is up that chronyd can bind properly,
and thus it works as a time server.

I would note that this issue doesn't occur on all my systems, but I do
experience this issue on a system with a more complex networking setup
- possibly due to the use of bonded interfaces. Presumably the
complexity of that setup affects when the various elements are
initialized, and thus makes it necessary that chronyd start a bit
later than on more 'normal' systems. Note that the use of
ip_nonlocal_bind makes no difference on this system.

In any case, I can't think of any harm or downside in making the tweak
above a default even for systems that work right now.

Thanks,
Christopher Martin

Reply via email to