]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/ntp/templates/default/chrony.conf.erb
chrony: Add initstepslew + cloudflare/google fallback
[chef.git] / cookbooks / ntp / templates / default / chrony.conf.erb
index cc3d517a238368b8973a3d8c89dbd2202c852f3b..11c702fccb6219dfe8dae55ce3bd7ffbdb47d0a2 100644 (file)
@@ -4,6 +4,13 @@
 <% node[:ntp][:servers].each do |server| -%>
 pool <%= server %> iburst
 <% end -%>
+# Add additional non-pool NTP servers
+# pool.ntp.org can sometimes be aggressive with KoD
+pool time.cloudflare.com iburst maxsources 2
+pool time.google.com iburst maxsources 2
+
+# Run an initial NTP sync on daemon startup
+initstepslew 30 time.cloudflare.com time.google.com <%= node[:ntp][:servers].join(" ") %>
 
 # This directive specify the location of the file containing ID/key pairs for
 # NTP authentication.
@@ -26,12 +33,15 @@ maxupdateskew 100.0
 # real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
 rtcsync
 
+<% if node[:virtualization][:role] == "guest" -%>
+# Allow anytime step on VM guests
+makestep 1 -1
+<% else -%>
 # Step the system clock instead of slewing it if the adjustment is larger than
 # one second, but only in the first three clock updates.
 makestep 1 3
+<% end -%>
 
-# Enable leap second smearing
-# Using recommended options
+# Enable leap second slew
 leapsecmode slew
 maxslewrate 1000
-smoothtime 400 0.001 leaponly