]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/hardware/recipes/default.rb
Send mdadm notification to the admins list
[chef.git] / cookbooks / hardware / recipes / default.rb
index 7923d3868d0213e8114ba0225c3628c78f9a2fac..8c587d9f0d172122c2818ab72f27b91f60926851 100644 (file)
@@ -248,13 +248,48 @@ end
   end
 end
 
-if File.exists?("/proc/xen")
-  watchdog = "xen_wdt"
-elsif node[:kernel][:modules].include?("i6300esb")
-  watchdog = "none"
+if File.exists?("/etc/mdadm/mdadm.conf")
+  mdadm_conf = edit_file "/etc/mdadm/mdadm.conf" do |line|
+    line.gsub!(/^MAILADDR .*$/, "MAILADDR admins@openstreetmap.org")
+
+    line
+  end
+
+  file "/etc/mdadm/mdadm.conf" do
+    owner "root"
+    group "root"
+    mode 0644
+    content mdadm_conf
+  end
+
+  service "mdadm" do
+    action :nothing
+    subscribes :restart, "file[/etc/mdadm/mdadm.conf]"
+  end
+end
+
+template "/etc/modules" do
+  source "modules.erb"
+  owner "root"
+  group "root"
+  mode 0644
+end
+
+if node[:lsb][:release].to_f <= 12.10
+  service "module-init-tools" do
+    provider Chef::Provider::Service::Upstart
+    action :nothing
+    subscribes :start, "template[/etc/modules]"
+  end
+else
+  service "kmod" do
+    provider Chef::Provider::Service::Upstart
+    action :nothing
+    subscribes :start, "template[/etc/modules]"
+  end
 end
 
-if watchdog
+if node[:hardware][:watchdog]
   package "watchdog"
 
   template "/etc/default/watchdog" do
@@ -262,10 +297,29 @@ if watchdog
     owner "root"
     group "root"
     mode 0644
-    variables :module => watchdog
+    variables :module => node[:hardware][:watchdog]
   end
 
   service "watchdog" do
     action [ :enable, :start ]
   end
 end
+
+unless Dir.glob("/sys/class/hwmon/hwmon*").empty?
+  package "lm-sensors"
+
+  execute "/etc/sensors.d/chef.conf" do
+    action :nothing
+    command "/usr/bin/sensors -s"
+    user "root"
+    group "root"
+  end
+
+  template "/etc/sensors.d/chef.conf" do
+    source "sensors.conf.erb"
+    owner "root"
+    group "root"
+    mode 0644
+    notifies :run, "execute[/etc/sensors.d/chef.conf]"
+  end
+end