#!/bin/bash # This is a networkd-dispatcher script for chronyd to handle its NTP # sources. It sets the NTP sources online or offline when a network # interface is configured or removed. On DHCP change, chrony will # update its NTP sources passed from DHCP options. export LC_ALL=C DHCP_SERVER_FILE={{ server_dir }}/chrony.servers.$IFACE add_servers_from_dhcp() { if [ -f "$DHCP_SERVER_FILE" ]; then rm -f "$DHCP_SERVER_FILE" fi echo "$json" | jq -r 'select(.NTP !=null) .NTP[]' >> $DHCP_SERVER_FILE {{ chrony_helper_dir }}/chrony-helper update-daemon || : } if [ "$STATE" = "routable" ]; then add_servers_from_dhcp # The onoffline command tells chronyd to switch all sources to # the online (routable) or offline (off) status according to the current network configuration. chronyc onoffline > /dev/null 2>&1 fi exit 0