Hi Adam, thanks for thinking through the potential regressions with me here. I think the one you mentioned on top is not a real one. Let me explain why:
There is: root@artful-test:~# cat /etc/default/ntp NTPD_OPTS='-g' And -g is defined as: Defined as: -g Normally, ntpd exits with a message to the system log if the offset exceeds the panic threshold, which is 1000 s by default. This option allows the time to be set to any value without restriction; however, this can happen only once. If the threshold is exceeded after that, ntpd will exit with a message to the system log. This option can be used with the -q and -x options. I checked how much that is true backward in releases, but it seems safe. root@trusty-test:~# cat /etc/default/ntp NTPD_OPTS='-g' So in the default setup ntp will do the adjustment and not refuse/drift-of-doom. If a user explicitly changed that option we actually fix another issue with the SRU here. The user that dropped the -g would expect not to do the major adjustment on his ntp, but the stop/ntpdate/start loop would do so. Please get in touch with me again if you do not agree. That said - please reconsider for Trusty sponsoring and SRU acceptance -- 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/1593907 Title: ntpdate startup routine prevents ntp service from launching up on Ubuntu 16.04 server on system boot; manually starting ntp service works: [FIX in DESCRIPTION], just need to apply it and release a new version Status in ntp package in Ubuntu: Fix Released Status in ntp source package in Trusty: In Progress Status in ntp source package in Xenial: In Progress Status in ntp source package in Yakkety: In Progress Status in ntp source package in Zesty: In Progress Bug description: [Impact] * Fixes several broken cases, those are: * Case 1 - ntp configured to drift time slowly, but time jumping - ntp is running and drifts time towards a target being way off - an interface comes up - stop ntpd - warp time via ntpdate-debian (static interfaces will even set -b) - (re-)start ntpd - if users relied on non-time warp they are now in trouble * Case 2 - ntp start/stop storms - ntpd comes up normally - the admin brings interfaces up/down rather often - ntp is restarted very very often due to this for no reason => reason for bugs like debian 823533 * Case 3 - unintentional enablement of ntp - ntpd is installed but disabled (for whatever reason) - all is fine on any ifup/down - one installs ntpdate, maybe even without realizing due to a depends - now on the next ifup ntpd (or openntpd) will be started * Solution, drop the broken Delta [Test Case] * Testing Case 2/3 as it is the easiest, case 1 needs a more complex setup to cause the time drift but otherwise works the same way. - install ntp and ntpdate - stop ntp - ifup/ifdown an interface multiple times; as simplification you can also call /etc/network/if-up.d/ntpdate directly (not that this spawns the change asnchronous and locks concurrency, so do that a few times over the time of a minute or so) - the service of ntp should still be stopped and not report plenty of restarts [Regression Potential] * It improves a lot of cases (otherwise we wouldn't SRU), but there is one regression potential I can see: - users that relied on starting NTP later on after other interfaces got up due to that code in ntpdate which did that as a side effect. But that is outweigh by Case2/3 for the majority of users. And even Case1 only hits this potential regression on e.g. late network intialization, but in that case please remind that the default (systemd timedatectl) would handle that. - Since most users of ntp do not install ntpdate (which doesn't work when ntp is active) we should be rather safe to assume that almost no one should rely on that side effect. - Furthermore this is a Ubuntu Delta for very long, cause issues (see the references on the git commit) but never made it into Debian - in that sense another indicator it isn't an important delta to have. [Other Info] * The original intention "what if net is available too late" fixed correctly would not be part of ntpdate, but ntp and additionally check if it is actually meant to be enabled - but I never seen/heard of any of it since systemd is around - maybe new ordering mostly avoids the original issue. --- I've installed ntp service on the clean ubuntu 16.04 server system. Configured it. Checked that it works, but, after reboot, it doesn't start automatically. When I check: 'systemctl is-enabled ntp', it shows enabled. If I manually start it 'systemctl start ntp' it starts just fine and woks correctly, but until I manually start it, 'systemctl status ntp' shows: Loaded: loaded (/etc/init.d/ntp; bad; vendor preset: enabled) Active: inactive (deadi) Installed 1.29ubuntu2 version of init-systems-helper, but it didn't fix the problem. Found a bugreport on ntpd package: https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/1577596 led to solution that involves a change to be made in file: /etc/network/if-up.d/ntpdate of ntpdate package After changing from: ______________CODE_START______________ invoke-rc.d --quiet $service stop >/dev/null 2>&1 || true # Avoid running more than one at a time flock -n /run/lock/ntpdate /usr/sbin/ntpdate-debian -s $OPTS 2>/dev/null || : invoke-rc.d --quiet $service start >/dev/null 2>&1 || true ______________CODE_END______________ to: ______________CODE_START______________ systemctl --quiet stop $service.service >/dev/null 2>&1 || true # Avoid running more than one at a time flock -n /run/lock/ntpdate /usr/sbin/ntpdate-debian -s $OPTS 2>/dev/null || : systemctl --quiet start $service.service >/dev/null 2>&1 || true ______________CODE_END______________ ntpd service started launching on boot. System Information: lsb_release -rd: Description: Ubuntu 16.04 LTS Release: 16.04 apt-cache policy ntpdate: ntpdate: Установлен: 1:4.2.8p4+dfsg-3ubuntu5 Кандидат: 1:4.2.8p4+dfsg-3ubuntu5 Таблица версий: *** 1:4.2.8p4+dfsg-3ubuntu5 500 500 http://ru.archive.ubuntu.com/ubuntu xenial/main amd64 Packages 100 /var/lib/dpkg/status To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/1593907/+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