X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/81f0aa67e3c0e400457194690888dfca3f213463..f8615415d66741ec7ad5aa2b9d23272f10e2b1a2:/cookbooks/ntp/recipes/default.rb diff --git a/cookbooks/ntp/recipes/default.rb b/cookbooks/ntp/recipes/default.rb index 0cd8dea24..9a15297f0 100644 --- a/cookbooks/ntp/recipes/default.rb +++ b/cookbooks/ntp/recipes/default.rb @@ -1,9 +1,9 @@ # -# Cookbook Name:: ntp +# Cookbook:: ntp # Recipe:: default # -# Copyright 2010, OpenStreetMap Foundation. -# Copyright 2009, Opscode, Inc +# Copyright:: 2010, OpenStreetMap Foundation. +# Copyright:: 2009, Opscode, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,27 +17,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -service "ntp" do - action [:stop, :disable] -end - -package "ntp" do - action :purge -end - -package "ntpdate" do - action :purge -end - -if File.directory?("/etc/munin/plugins") - Dir.new("/etc/munin/plugins").each do |plugin| - next unless plugin.match?(/^ntp_/) - - munin_plugin plugin do - action :delete - end - end -end +include_recipe "prometheus" package %w[ chrony @@ -62,7 +42,18 @@ template "/etc/chrony/chrony.conf" do source "chrony.conf.erb" owner "root" group "root" - mode 0o644 + mode "644" + notifies :restart, "service[chrony]" +end + +service "systemd-timesyncd" do + action [:stop, :disable] +end + +systemd_service "chrony-restart" do + service "chrony" + dropin "restart" + restart "on-failure" notifies :restart, "service[chrony]" end @@ -70,4 +61,15 @@ service "chrony" do action [:enable, :start] end -munin_plugin "chrony" +prometheus_exporter "chrony" do + port 9123 +end + +# chrony occasionally marks all servers offline during a network outage. +# force online all sources during a chef run +execute "chronyc-online" do + command "/usr/bin/chronyc online" + user "root" + group "root" + ignore_failure true +end