X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/49448b664ef6185d2b39c1e5c447bd9772f93506..58fa98e466c9b59f9352240e86c6349eba21440e:/cookbooks/hardware/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/hardware/recipes/default.rb b/cookbooks/hardware/recipes/default.rb index e8f903f64..188042514 100644 --- a/cookbooks/hardware/recipes/default.rb +++ b/cookbooks/hardware/recipes/default.rb @@ -51,7 +51,7 @@ end units = [] -if node[:roles].include?("bytemark") || node[:roles].include?("exonetric") +if node[:roles].include?("bytemark") || node[:roles].include?("exonetric") || node[:roles].include?("prgmr") units << "0" end @@ -174,7 +174,14 @@ service "haveged" do action [:enable, :start] end -package "ipmitool" if node[:kernel][:modules].include?("ipmi_si") +if node[:kernel][:modules].include?("ipmi_si") + package "ipmitool" + package "freeipmi-tools" + + prometheus_exporter "ipmi" do + port 9290 + end +end package "irqbalance" @@ -343,22 +350,23 @@ if !intel_ssds.empty? || !intel_nvmes.empty? package "unzip" intel_ssd_tool_version = "3.0.26" + intel_ssd_package_version = "#{intel_ssd_tool_version}.400-1" remote_file "#{Chef::Config[:file_cache_path]}/Intel_SSD_Data_Center_Tool_#{intel_ssd_tool_version}_Linux.zip" do source "https://downloadmirror.intel.com/29720/eng/Intel_SSD_DCT_#{intel_ssd_tool_version}_Linux.zip" end execute "#{Chef::Config[:file_cache_path]}/Intel_SSD_Data_Center_Tool_#{intel_ssd_tool_version}_Linux.zip" do - command "unzip Intel_SSD_Data_Center_Tool_#{intel_ssd_tool_version}_Linux.zip isdct_#{intel_ssd_tool_version}.400-1_amd64.deb" + command "unzip Intel_SSD_Data_Center_Tool_#{intel_ssd_tool_version}_Linux.zip isdct_#{intel_ssd_package_version}_amd64.deb" cwd Chef::Config[:file_cache_path] user "root" group "root" - not_if { ::File.exist?("#{Chef::Config[:file_cache_path]}/isdct_#{intel_ssd_tool_version}.400-1_amd64.deb") } + not_if { ::File.exist?("#{Chef::Config[:file_cache_path]}/isdct_#{intel_ssd_package_version}_amd64.deb") } end dpkg_package "isdct" do - version "#{intel_ssd_tool_version}-1" - source "#{Chef::Config[:file_cache_path]}/isdct_#{intel_ssd_tool_version}.400-1_amd64.deb" + version "#{intel_ssd_package_version}" + source "#{Chef::Config[:file_cache_path]}/isdct_#{intel_ssd_package_version}_amd64.deb" end end @@ -446,6 +454,18 @@ if disks.count.positive? subscribes :restart, "template[/etc/default/smartmontools]" end + template "/etc/prometheus/collectors/smart.devices" do + source "smart.devices.erb" + owner "root" + group "root" + mode "644" + variables :disks => disks + end + + prometheus_collector "smart" do + interval "15m" + end + # Don't try and do munin monitoring of disks behind # an Areca controller as they only allow one thing to # talk to the controller at a time and smartd will @@ -459,18 +479,6 @@ if disks.count.positive? conf_variables :disk => disk end end - - template "/etc/prometheus/collectors/smart.devices" do - source "smart.devices.erb" - owner "root" - group "root" - mode "644" - variables :disks => disks - end - - prometheus_collector "smart" do - interval "15m" - end else service "smartd" do action [:stop, :disable]