Thank you for answering.
> I don't follow. Doesn't the routable state follow configured? Why
> would it need to be called twice?
> Do you have an example sequence of the events?
Below is log of the networkd-dispatcher environment variables when the 20-chrony script(linked in the routable.d & off.d) is called during boot.
IFACE: eth1, STATE: off, AdministrativeState: unmanaged, OperationalState: off
IFACE: eth0, STATE: routable, AdministrativeState: configuring, OperationalState: routable
IFACE: eth0, STATE: routable, AdministrativeState: configuring, OperationalState: routable (The last time 20-chrony is called)
I don't know why, but if the script was called when the interface was in the configuring state, even if it was in the routable state, the sources were taken offline.
(Although not printed in the log, the eth0 interface is eventually in the configured state, and then the source is in the online state when I run the 'chronyc onoffline' command.)
FYI, below is the log of other servers without the problem.
IFACE: eth1, STATE: off, AdministrativeState: unmanaged, OperationalState: off
IFACE: eth0, STATE: routable, AdministrativeState: configured, OperationalState: routable
> Isn't this missing the "off" state?
It was a test script, so I didn't pay much attention to it.
Based on your answer, it sounds like simply creating a link under the configured.d directory without any script modifications would solve the problem.
Thanks for your help.