This is still a problem, even as of focal. I ran into this today and
was shocked/surprised to find ntpq -p kept showing the NTP server set in
option 42 (DHCP server options), rather than what was hard-coded into
/etc/ntp.conf. I absolutely had this working a few days prior! Things
broke when the DHCP client on the system renegotiated its lease.
The problem, in the case of the systemd unit, is that the systemd unit
uses ExecStart=/usr/lib/ntp/ntp-systemd-wrapper. That wrapper is a
shell script that contains:
if [ -e /run/ntp.conf.dhcp ]; then
NTPD_OPTS="$NTPD_OPTS -c /run/ntp.conf.dhcp"
fi
What populates this file is /etc/dhcp/dhclient-exit-hooks.d/ntp, which
runs after DHCP client exits (so on a renew, refresh, etc.). This file
is provided by the ntp package itself (per dpkg -S). There doesn't seem
to be a way to short-circuit the logic in the file via any kind of
override, nor in the wrapper mentioned above.
This kind of problem is exactly what happens when people try to make
software "smart", rather than just leaving things alone and letting
sysadmins configure things properly.
--
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/1823098
Title:
/etc/init.d/ntp prefers DHCP over configured /etc/ntp.conf
Status in cloud-images:
New
Status in ntp package in Ubuntu:
New
Status in ntp source package in Xenial:
New
Bug description:
Hi,
On a few instances in a public cloud, mostly seen in GCE, ntp seems
incorrectly set up with:
| ubuntu@juju-453c71-0:~$ ntpq -pn
| remote refid st t when poll reach delay offset
jitter
|
==============================================================================
| *169.254.169.254 71.79.79.71 2 u 737 1024 377 0.657 0.136
0.147
We have /etc/ntp.conf configured to use ntp.ubuntu.com as a 'pool'
host. Turns out, it seems the /etc/init.d/ntp prefers the DHCP version
over our configured ntp.conf:
| if [ /var/lib/ntp/ntp.conf.dhcp -nt /etc/ntp.conf ]; then
| NTPD_OPTS="$NTPD_OPTS -c /var/lib/ntp/ntp.conf.dhcp"
| fi
| ubuntu@juju-453c71-0:/etc$ ls -la /var/lib/ntp/ntp.conf.dhcp /etc/ntp.conf
| -rw-r--r-- 1 root root 626 Feb 25 08:54 /etc/ntp.conf
| -rw-r--r-- 1 root root 897 Mar 29 21:00 /var/lib/ntp/ntp.conf.dhcp
I think this is wrong, if /etc/ntp.conf is configured, it should use
that over what DHCP/dhclient provides.
| ubuntu@juju-453c71-0:~$ cat /etc/*release
| DISTRIB_RELEASE=16.04
| DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
| VERSION_ID="16.04"
| ubuntu@juju-453c71-0:~$ dpkg-query -S /etc/init.d/ntp
| ntp: /etc/init.d/ntp
| ubuntu@juju-453c71-0:~$ apt-cache policy ntp
| ntp:
| Installed: 1:4.2.8p4+dfsg-3ubuntu5.9
| Candidate: 1:4.2.8p4+dfsg-3ubuntu5.9
| Version table:
| *** 1:4.2.8p4+dfsg-3ubuntu5.9 500
| 500 http://us-central1.gce.archive.ubuntu.com/ubuntu
xenial-updates/main amd64 Packages
| 500 http://security.ubuntu.com/ubuntu xenial-security/main amd64
Packages
Thanks,
Haw
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-images/+bug/1823098/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp