X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/443ea02fadb91a42ad49279c98a00550cb43a064..c7c31f3c269d2b1df845a94e59e34cd52e0b296d:/cookbooks/hardware/recipes/default.rb diff --git a/cookbooks/hardware/recipes/default.rb b/cookbooks/hardware/recipes/default.rb index 3169c94a9..3c2f84a68 100644 --- a/cookbooks/hardware/recipes/default.rb +++ b/cookbooks/hardware/recipes/default.rb @@ -191,7 +191,7 @@ node[:kernel][:modules].each_key do |modname| when "mptsas" tools_packages << "lsiutil" # status_packages["mpt-status"] ||= [] - when "mpt2sas" + when "mpt2sas", "mpt3sas" tools_packages << "sas2ircu" status_packages["sas2ircu-status"] ||= [] when "megaraid_mm" @@ -327,11 +327,13 @@ if status_packages["sas2ircu-status"] Dir.glob("/sys/class/scsi_host/host*") do |host| driver = File.new("#{host}/proc_name").read.chomp - next unless driver == "mpt2sas" + next unless driver == "mpt2sas" || driver == "mpt3sas" bus = host.sub("/sys/class/scsi_host/host", "") Dir.glob("/sys/bus/scsi/devices/#{bus}:0:*/scsi_generic/*").each do |sg| + next if File.directory?("#{sg}/../../block") + disks << { :device => File.basename(sg) } end end @@ -411,6 +413,12 @@ if disks.count > 0 supports :status => true, :restart => true, :reload => true 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 + # throw errors if it clashes with munin + disks = disks.reject { |disk| disk[:driver] == "areca" } + disks.each do |disk| munin_plugin "smart_#{disk[:munin]}" do target "smart_"