]> 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 4474578a5c74a0294994423221a287615b6a59ca..154a793a5614dcf9f91ff3185f33c85361e216fa 100644 (file)
@@ -55,11 +55,8 @@ case manufacturer
 when "HP"
   package "hponcfg"
 
-  # Downgrade hp-health to 10.0.0.1.3-4. as 10.40-1815.49 has issues with reliable startup
   package "hp-health" do
     action :install
-    version "10.0.0.1.3-4."
-    options "--force-yes"
     notifies :restart, "service[hp-health]"
   end
 
@@ -203,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"
@@ -246,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
@@ -411,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