]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/hardware/recipes/default.rb
Disable mcelog on scorch
[chef.git] / cookbooks / hardware / recipes / default.rb
index e067a0b10cef29b26d33c9dbcfc7318235798786..a18a293a04a01b461c5100fb6a0fab9a531632e6 100644 (file)
@@ -21,7 +21,7 @@ include_recipe "tools"
 include_recipe "munin"
 
 ohai_plugin "hardware" do
-  template "ohai.rb.erb"
+  template_source "ohai.rb.erb"
 end
 
 case node[:cpu][:"0"][:vendor_id]
@@ -200,16 +200,34 @@ service "lldpd" do
   supports :status => true, :restart => true, :reload => true
 end
 
+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 = []
 status_packages = {}
 
 node[:kernel][:modules].each_key do |modname|
   case modname
   when "cciss"
-    tools_packages << "hpssacli"
+    tools_packages << "ssacli"
     status_packages["cciss-vol-status"] ||= []
   when "hpsa"
-    tools_packages << "hpssacli"
+    tools_packages << "ssacli"
     status_packages["cciss-vol-status"] ||= []
   when "mptsas"
     tools_packages << "lsiutil"
@@ -243,7 +261,7 @@ node[:block_device].each do |name, attributes|
   end
 end
 
-%w[hpssacli lsiutil sas2ircu megactl megacli arcconf].each do |tools_package|
+%w[ssacli lsiutil sas2ircu megactl megacli arcconf].each do |tools_package|
   if tools_packages.include?(tools_package)
     package tools_package
   else
@@ -408,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
-  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