Hmm, I also found this line in my log (this time it booted OK): Jul 12 18:41:47 redacted.example.org ntpdate[2184]: name server cannot be used: Temporary failure in name resolution (-3)
I'm wondering whether it's either a) failing to start ntp because ntpdate isn't running because it couldn't resolve names because bind9 had not yet started, and the drift was too large (sometimes) b) (the opposite) only working when ntpdate times out if it starts its query too early. Seems to me like ntpdate should be waiting to start until name resolution works - probably ntpd too. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to ntp in Ubuntu. https://bugs.launchpad.net/bugs/1577596 Title: ntpd not started when using ntpdate Status in init-system-helpers package in Ubuntu: Confirmed Status in ntp package in Ubuntu: Confirmed Bug description: After updating from 14.04 to 16.04 on a number of my systems, ntpd no longer starts at boot on any of those systems. `systemctl status ntp` shows: ntp.service - LSB: Start NTP daemon Loaded: loaded (/etc/init.d/ntp; bad; vendor preset: enabled) Active: inactive (dead) Docs: man:systemd-sysv-generator(8) May 02 19:10:14 host systemd[1]: Stopped LSB: Start NTP daemon. May 02 19:10:17 host systemd[1]: Stopped LSB: Start NTP daemon. Manually starting it using `systemctl start ntp` works fine. However, systemd does not seem to want to start it automatically at boot time. As best as I can tell based on trial and error, there is something special about the combination of the service being named "ntp.service" and the service depending on network.target. However, I haven't been able to identify exactly what is causing this. If I copy the init script to any other name, everything works fine: cp /etc/init.d/ntp /etc/init.d/ntpd Edit /etc/init.d/ntpd and change "Provides: ntp" to "Provides: ntpd" systemctl enable ntpd # After a reboot, ntpd.service is started, but ntp.service is not. If I remove "$network" from the "# Required-Start: $network $remote_fs $syslog" line in /etc/init.d/ntp, then systemd starts it automatically ... But of course it is started before the network comes up, so it fails. If I replace /etc/init.d/ntp with a file containing only the following, systemd won't try to start it automatically at boot: #!/bin/sh ### BEGIN INIT INFO # Provides: ntp # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 1 # Short-Description: Start NTP daemon ### END INIT INFO echo "script was run" >> /ntp.log If I rename that same dummy script to /etc/init.d/ntp2, it is started automatically at boot. However, grepping the systemd source code and my systemd config files for ntp doesn't seem to find anything that might cause this behavior: /etc/systemd# grep -iR ntp * timesyncd.conf:#NTP= timesyncd.conf:#FallbackNTP=ntp.ubuntu.com /lib/systemd# grep -R ntp * system/systemd-timesyncd.service.d/disable-with-time-daemon.conf:ConditionFileIsExecutable=!/usr/sbin/ntpd system/systemd-timesyncd.service.d/disable-with-time-daemon.conf:ConditionFileIsExecutable=!/usr/sbin/openntpd Binary file systemd-networkd matches Binary file systemd-timedated matches Binary file systemd-timesyncd matches What else can I do to debug this further? To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/init-system-helpers/+bug/1577596/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp