Commit Graph

10 Commits

Author SHA1 Message Date
David Gageot
a9fe30b2b7 [GCP] Configure ntp server
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:31 +01:00
Justin Cormack
9051236f4d Fix dhcp ntp on osx
1. Upstream issue in Alpine that default directory is not used.
2. dhcp appends ntp servers, so delete default first.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-26 21:39:20 +01:00
Justin Cormack
c1922f2f25 Fix up chronyd support for editions
See #305 #301

This sets AWS to use the amazon ntp pool, windows to do nothing,
mac uses ntp it gets from DNS. Azure currently uses default pool,
this probably needs fixing.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:02:59 +01:00
Ian Campbell
08d2109c29 Merge pull request #207 from ijc25/ntp-from-dhcp
[Post Dockercon] Use $ntpsrv from DHCP to configure chrony
2016-07-05 14:23:49 +01:00
Justin Cormack
35309accfb fix #212 do not let chronyd listen on a port for commands
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 15:28:05 +01:00
Ian Campbell
62f414da6b Use $ntpsrv from DHCP to configure chrony
The existing `ntp=gateway` cmdline support overrides this, but is largely
redundant now.

A DHCP derived server will not be given the "trust" directive in the
configuration file, since it is harder to argue that we know we should trust a
server which arrives this way since it depends on the context in which Moby is
running. It's not clear to me that it makes much difference anyway.

This only uses the first server in $ntpsrv, since Piñata will only provide one
and supporting more makes the sed quite a bit more complex.

If `ntp=gateway` is given then we now use $router instead of parsing IP output.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-14 14:06:53 +01:00
Ian Campbell
d1e5ba6121 Point chronyd at gateway when ntp=gateway is given on the kernel cmdline.
Reconfigure chronyd in a udhcpc post-bound hook and restart it, but use
conditionalrestart so it is not started if it isn't running, which is the case
during boot when this hook happens from init.d/networking via ifup, running
"service ... start" in that context results in the daemon running but the
service db saying it isn't.

Doing it in the udhcpc hook leaves a nice hole where support for getting the
NTP server via DHCP can fit in once it is available.

This also switches from using "initstepslew" to "makestep", the former was
responsible for the long delay starting chronyd (meaning we can now drop
"before chronyd" from Docker's init dependencies), while the later will force a
step if the time is out by more than the configured amount (half a second
here), meaning it will be corrected on resume. The rest of the time it chrony
will do the usual slewing to keep the clock accurate. Passing -1 as the limit
to "makestep" ensures the step will always occur, if it were positive it would
only be done that number of times.

We add "iburst" and "minpoll 2" to the default configuration file to speed up
initial sync and resync after sleep respectively, resync after sleep happens in
a couple of seconds. In "ntp=gateway" mode we also patch in "trust", this isn't
in the default config file since we won't be so sure about DHCP provided
servers, but when talking to a host provided NTP we want to use its time (for
sync accross host mounts) even if it has a crazy idea about what the time is.

With this we can also remove the 15min ntp sync, which in turn gets rid of the
need for cron.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:19:35 +01:00
Justin Cormack
952bb2d3db Revert "replace chronyd with sntpc, sync every 15s not 15m"
We should not use ntp.org this frequently, need to work out something
that uses host time mainly.

This reverts commit 382f99529d.
2016-05-10 11:29:16 +01:00
Justin Cormack
32ddaae7a5 replace chronyd with sntpc, sync every 15s not 15m
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-10 11:00:51 +01:00
Rolf Neugebauer
32c999a02f chronyd: don't start it when running on Hyper-V
This is a bit ugly as we copied and then modified the chronyd init.d
script as shipped in the package.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 15:10:28 +01:00