[Bug 1257082] Re: MAAS does not use NTP servers specified in DHCPD options

James Troup james.troup at canonical.com
Tue Jun 24 21:36:40 UTC 2014


So I just ran face first into this bug.  Unless I'm missing something,
I don't think ntp being installed by default helps at all.  MAAS and
Juju (for the MAAS provisioner) both depend on servers having an
accurate clock early in the boot process; ntpdate achieves this
because it's willing to jump time; ntp is not (for valid reasons).

And, even if I'm wrong about that, we still need a fix for trusty and
precise.  Could we not just fix/reverse the logic in ntpdate-debian so
that it prefers dhcp provided NTP servers if one is found?  Or at the
very least have it fallback to dhcp provided NTP if it can't find an
ntp.conf?

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/1257082

Title:
  MAAS does not use NTP servers specified in DHCPD options

Status in MAAS:
  Invalid
Status in “isc-dhcp” package in Ubuntu:
  Invalid
Status in “ntp” package in Ubuntu:
  Confirmed
Status in “ntp” package in Debian:
  New

Bug description:
  [Impact]

  MAAS-deployed systems *that do not have persistent RTCs* (unusual)
  have difficulty with time and authentication, generally making these
  nodes unusable.

  [Workaround]

  See comment #8.

  [Original Description]

  I have tried setting up NTP servers as DHCP options to MAAS nodes
  because I am behind a proxy here at work that cannot contact
  ntp.ubuntu.com. Here is the top of the dhcpd.conf file on on my MAAS
  head node, maas01:

  root at maas01:/etc/dhcp# less dhcpd.conf
  default-lease-time 600;
  max-lease-time 7200;

  subnet 192.168.0.0 netmask 255.255.0.0 {
    option domain-name "mgmt";
    option domain-name-servers 192.168.255.254;
    option routers 192.168.255.254;

    pool {
      range 192.168.0.1 192.168.255.253;
      deny unknown-clients;
    }
  }

  subnet 10.255.0.0 netmask 255.255.0.0 {
    option domain-name "maas";
    option domain-name-servers 10.255.0.1;
    option routers 10.255.0.1;
    option ntp-servers 172.31.22.1, 172.31.23.1, 172.31.20.104;
    next-server 10.255.0.1;

    pool {
      range 10.255.1.0 10.255.255.254;
      deny unknown-clients;
    }
  }

  I have also verified the parameter is being sent to a client’s DHCP
  lease:

  ubuntu at sled204n0:/var$ cat /var/lib/dhcp/dhclient.eth0.leases
  lease {
    interface "eth0";
    fixed-address 10.255.4.44;
    option subnet-mask 255.255.0.0;
    option routers 10.255.0.1;
    option dhcp-lease-time 600;
    option dhcp-message-type 5;
    option domain-name-servers 10.255.0.1;
    option dhcp-server-identifier 10.255.0.1;
    option ntp-servers 172.31.22.1,172.31.23.1,172.31.20.104;
    option domain-name "maas";
    renew 4 2000/01/06 19:40:51;
    rebind 4 2000/01/06 19:40:51;
    expire 4 2000/01/06 19:40:51;
  }

  Even so, the date on the target node is still incorrect.

  ubuntu at sled204n0:/etc$ date
  Thu Jan  6 19:52:29 UTC 2000

  The ntpdate defaults are the following (unchanged from MAAS defaults):

  ubuntu at sled204n0:/etc$ cat /etc/default/ntpdate
  # The settings in this file are used by the program ntpdate-debian, but not
  # by the upstream program ntpdate.

  # Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
  # so you only have to keep it in one place.
  NTPDATE_USE_NTP_CONF=yes

  # List of NTP servers to use  (Separate multiple servers with spaces.)
  # Not used if NTPDATE_USE_NTP_CONF is yes.
  NTPSERVERS="ntp.ubuntu.com"

  # Additional options to pass to ntpdate
  NTPOPTIONS=""

  And the DHCP generated NTP server file is correct:

  ubuntu at sled204n0:/etc$ cat /var/lib/ntpdate/default.dhcp
  # NTP server entries received from DHCP server
  NTPSERVERS='172.31.22.1 172.31.23.1 172.31.20.104'

  The culprit seems to be in how ntpdate-debian is programmed. the logic
  ignores /var/lib/ntpdate/default.dhcp if /etc/default/ntpdate sets
  NTPDATE_USE_NTP_CONF=yes (the default).

  After examining the script further my recommendation would be for the
  /etc/dhcp/dhclient-exit-hooks.d/ntpdate to create the file
  /var/lib/ntp/ntp.conf.dhcp. By doing so ntpdate-debian will work
  transparently with /etc/defaults/ntpdate and NTP servers advertised by
  DHCPD.

  -------------------------------------------------------------------------
  (contents of /var/log/maas/* is 125MB in size, will post data from there if requested)

  # dpkg -l '*maas*'|cat
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name                               Version                                Architecture Description
  +++-==================================-======================================-============-==========================================================================
  ii  maas                               1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Server
  ii  maas-cli                           1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Client Tool
  ii  maas-cluster-controller            1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Cluster Controller
  ii  maas-common                        1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Server
  un  maas-dhcp                          <none>                                              (no description available)
  un  maas-dns                           <none>                                              (no description available)
  ii  maas-region-controller             1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Server
  ii  python-django-maas                 1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Server - (django files)
  ii  python-maas-client                 1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS API Client - (python files)
  ii  python-maas-provisioningserver     1.3+bzr1461+dfsg-0ubuntu2.2+tay.8      all          Ubuntu MAAS Server

To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1257082/+subscriptions



More information about the foundations-bugs mailing list