X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/efdd5e8683ca3fc786fc6905ef8e0434f3db2a5e..dd35c593b7471ccbe5298f8e720d7b9b4ee6a967:/cookbooks/hardware/recipes/default.rb diff --git a/cookbooks/hardware/recipes/default.rb b/cookbooks/hardware/recipes/default.rb index 4474578a5..837c8ce23 100644 --- a/cookbooks/hardware/recipes/default.rb +++ b/cookbooks/hardware/recipes/default.rb @@ -8,7 +8,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -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 @@ -86,9 +83,10 @@ end # Remove legacy HP G4 support which breaks modern hp-health 10.4 if manufacturer == "HP" - %w[/opt/hp/hp-health/bin/hpasmd /usr/lib/libhpasmintrfc.so.3.0 %/usr/lib/libhpasmintrfc.so.3 /usr/lib/libhpasmintrfc.so].each do |filename| + %w[/opt/hp/hp-health/bin/hpasmd /usr/lib/libhpasmintrfc.so.3.0 /usr/lib/libhpasmintrfc.so.3 /usr/lib/libhpasmintrfc.so].each do |filename| file filename do action :delete + manage_symlink_source false end end @@ -203,16 +201,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 +262,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 @@ -261,7 +277,7 @@ if tools_packages.include?("areca") git "/opt/areca" do action :sync - repository "git://chef.openstreetmap.org/areca.git" + repository "https://git.openstreetmap.org/private/areca.git" user "root" group "root" end @@ -319,21 +335,21 @@ intel_nvmes = nvmes.select { |pci| pci[:vendor_name] == "Intel Corporation" } if !intel_ssds.empty? || !intel_nvmes.empty? package "unzip" - remote_file "#{Chef::Config[:file_cache_path]}/Intel_SSD_Data_Center_Tool_3.0.7_Linux.zip" do - source "https://downloadmirror.intel.com/27144/eng/Intel_SSD_Data_Center_Tool_3.0.7_Linux.zip" + remote_file "#{Chef::Config[:file_cache_path]}/Intel_SSD_Data_Center_Tool_3.0.13_Linux.zip" do + source "https://downloadmirror.intel.com/27863/eng/Intel_SSD_Data_Center_Tool_3.0.13_Linux.zip" end - execute "#{Chef::Config[:file_cache_path]}/Intel_SSD_Data_Center_Tool_3.0.7_Linux.zip" do - command "unzip Intel_SSD_Data_Center_Tool_3.0.7_Linux.zip isdct_3.0.7.401-17_amd64.deb" + execute "#{Chef::Config[:file_cache_path]}/Intel_SSD_Data_Center_Tool_3.0.13_Linux.zip" do + command "unzip Intel_SSD_Data_Center_Tool_3.0.13_Linux.zip isdct_3.0.13.400-17_amd64.deb" cwd Chef::Config[:file_cache_path] user "root" group "root" - not_if { File.exist?("#{Chef::Config[:file_cache_path]}/isdct_3.0.7.401-17_amd64.deb") } + not_if { File.exist?("#{Chef::Config[:file_cache_path]}/isdct_3.0.13.400-17_amd64.deb") } end dpkg_package "isdct" do - version "3.0.7.401-17" - source "#{Chef::Config[:file_cache_path]}/isdct_3.0.7.401-17_amd64.deb" + version "3.0.13.400-17" + source "#{Chef::Config[:file_cache_path]}/isdct_3.0.13.400-17_amd64.deb" end end @@ -411,7 +427,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