]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/hardware/recipes/default.rb
Mark the smartmontools service as supporting reload
[chef.git] / cookbooks / hardware / recipes / default.rb
index 29a1fcd1eb3d2ce35a00cc76fe2a6573fbb58a93..551dd5b382b43b311233fd06cdca08e27b793c81 100644 (file)
@@ -306,6 +306,20 @@ if status_packages["megaclisas-status"]
   end
 end
 
+if tools_packages.include?("lsiutil")
+  Dir.glob("/sys/class/scsi_host/host*") do |host|
+    driver = File.new("#{host}/proc_name").read.chomp
+
+    next unless driver == "mptsas"
+
+    bus = host.sub("/sys/class/scsi_host/host", "")
+
+    Dir.glob("/sys/bus/scsi/devices/#{bus}:0:*/scsi_generic/*").each do |sg|
+      disks << { :device => File.basename(sg) }
+    end
+  end
+end
+
 if status_packages["sas2ircu-status"]
   Dir.glob("/sys/class/scsi_host/host*") do |host|
     driver = File.new("#{host}/proc_name").read.chomp
@@ -391,6 +405,7 @@ if disks.count > 0
 
   service "smartmontools" do
     action [:enable, :start]
+    supports :status => true, :restart => true, :reload => true
   end
 
   disks.each do |disk|
@@ -416,7 +431,7 @@ else
 end
 
 plugins = Dir.glob("/etc/munin/plugins/smart_*").map { |p| File.basename(p) } -
-          disks.map { |d| "smart_#{d[:munin_name]}" }
+          disks.map { |d| "smart_#{d[:munin]}" }
 
 plugins.each do |plugin|
   munin_plugin plugin do