X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/a68415b8f2bf106b6ea5948b0605c897b516ef4f..0a24539ef82e55b09c6801a1c80e9f4c952f6a2f:/cookbooks/hardware/recipes/default.rb diff --git a/cookbooks/hardware/recipes/default.rb b/cookbooks/hardware/recipes/default.rb index 13e24b80d..7d326d68b 100644 --- a/cookbooks/hardware/recipes/default.rb +++ b/cookbooks/hardware/recipes/default.rb @@ -59,7 +59,20 @@ end case manufacturer when "HP" package "hponcfg" - package "hp-health" + + # 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 + + service "hp-health" do + action [:enable, :start] + supports :status => true, :restart => true + end + units << "1" when "TYAN" units << "0" @@ -76,6 +89,20 @@ when "IBM" units << "0" 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| + file filename do + action :delete + end + end + + directory "/opt/hp/hp-legacy" do + action :delete + recursive true + end +end + units.sort.uniq.each do |unit| if node[:lsb][:release].to_f >= 16.04 service "serial-getty@ttyS#{unit}" do @@ -351,6 +378,12 @@ disks = disks.map do |disk| ] end +smartd_service = if node[:lsb][:release].to_f >= 16.04 + "smartd" + else + "smartmontools" + end + disks = disks.compact if disks.count > 0 @@ -369,7 +402,6 @@ if disks.count > 0 group "root" mode 0o644 variables :disks => disks - notifies :reload, "service[smartmontools]" end template "/etc/default/smartmontools" do @@ -377,12 +409,12 @@ if disks.count > 0 owner "root" group "root" mode 0o644 - notifies :restart, "service[smartmontools]" end - service "smartmontools" do + service smartd_service do action [:enable, :start] - supports :status => true, :restart => true, :reload => true + subscribes :reload, "template[/etc/smartd.conf]" + subscribes :restart, "template[/etc/default/smartmontools]" end # Don't try and do munin monitoring of disks behind @@ -399,7 +431,7 @@ if disks.count > 0 end end else - service "smartmontools" do + service smartd_service do action [:stop, :disable] end end