]> git.openstreetmap.org Git - chef.git/blob - cookbooks/ntp/recipes/default.rb
Switch to using chrony for time synchronisation
[chef.git] / cookbooks / ntp / recipes / default.rb
1 #
2 # Cookbook Name:: ntp
3 # Recipe:: default
4 #
5 # Copyright 2010, OpenStreetMap Foundation.
6 # Copyright 2009, Opscode, Inc
7 #
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 #     https://www.apache.org/licenses/LICENSE-2.0
13 #
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19
20 service "ntp" do
21   action [:stop, :disable]
22 end
23
24 package "ntp" do
25   action :purge
26 end
27
28 package "ntpdate" do
29   action :purge
30 end
31
32 if File.directory?("/etc/munin/plugins")
33   Dir.new("/etc/munin/plugins").each do |plugin|
34     next unless plugin.match?(/^ntp_/)
35
36     munin_plugin plugin do
37       action :delete
38     end
39   end
40 end
41
42 package %w[
43   chrony
44   tzdata
45 ]
46
47 execute "dpkg-reconfigure-tzdata" do
48   action :nothing
49   command "/usr/sbin/dpkg-reconfigure -f noninteractive tzdata"
50   user "root"
51   group "root"
52 end
53
54 link "/etc/localtime" do
55   to "/usr/share/zoneinfo/#{node[:ntp][:tz]}"
56   owner "root"
57   group "root"
58   notifies :run, "execute[dpkg-reconfigure-tzdata]", :immediately
59 end
60
61 template "/etc/chrony/chrony.conf" do
62   source "chrony.conf.erb"
63   owner "root"
64   group "root"
65   mode 0o644
66   notifies :restart, "service[chrony]"
67 end
68
69 service "chrony" do
70   action [:enable, :start]
71 end
72
73 munin_plugin "chrony"