]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/hardware/recipes/default.rb
Use declare_resource to avoid need for template_source wart
[chef.git] / cookbooks / hardware / recipes / default.rb
index ebda56f43955589806a67d4a8739291163567ba5..154a793a5614dcf9f91ff3185f33c85361e216fa 100644 (file)
@@ -200,11 +200,22 @@ service "lldpd" do
   supports :status => true, :restart => true, :reload => true
 end
 
   supports :status => true, :restart => true, :reload => true
 end
 
-# mcelog Daemon to log / alert on machine check events
-package "mcelog"
-service "mcelog" do
-  action [:start, :enable]
-  supports :status => true, :restart => true, :reload => false
+if node[:hardware][:mcelog][:enabled]
+  package "mcelog"
+
+  %w[bus cache dimm iomca page socket-memory unknown].each do |trigger|
+    template "/etc/mcelog/#{trigger}-error-trigger.local" do
+      source "mcelog-trigger.erb"
+      owner "root"
+      group "root"
+      mode 0o755
+    end
+  end
+
+  service "mcelog" do
+    action [:start, :enable]
+    supports :status => true, :restart => true, :reload => false
+  end
 end
 
 tools_packages = []
 end
 
 tools_packages = []
@@ -415,7 +426,7 @@ if disks.count.positive?
   # an Areca controller as they only allow one thing to
   # talk to the controller at a time and smartd will
   # throw errors if it clashes with munin
   # an Areca controller as they only allow one thing to
   # talk to the controller at a time and smartd will
   # throw errors if it clashes with munin
-  disks = disks.reject { |disk| disk[:smart] && disk[:smart].start_with?("areca,") }
+  disks = disks.reject { |disk| disk[:smart]&.start_with?("areca,") }
 
   disks.each do |disk|
     munin_plugin "smart_#{disk[:munin]}" do
 
   disks.each do |disk|
     munin_plugin "smart_#{disk[:munin]}" do