]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/hardware/templates/default/ohai.rb.erb
Don't set smart_device for cciss disks which aren't in the PD list
[chef.git] / cookbooks / hardware / templates / default / ohai.rb.erb
index 2fca2b323c63f758630abd78a36b48885aea2802..536377de4d136fa1407d84971f17e39b26f6007e 100644 (file)
@@ -403,7 +403,9 @@ Ohai.plugin(:Hardware) do
     end
 
     devices[:disks].each do |disk|
-      disk[:smart_device] = "cciss,#{disks.find_index(disk[:location])}"
+      if location = disks.find_index(disk[:location])
+        disk[:smart_device] = "cciss,#{location}"
+      end
 
       if disk[:status] == "Failed"
         disk[:status] = "failed"
@@ -597,12 +599,13 @@ Ohai.plugin(:Hardware) do
 
     disks.each do |disk|
       controller = devices[:controllers][disk[:controller]]
-      id = disk.delete(:device_id)
 
-      if device = Dir.glob("/sys/bus/pci/devices/#{controller[:pci_slot]}/host*/target0:0:#{id}/0:0:#{id}:0/block/sd*").first
-        disk[:device] = "/dev/#{File.basename(device)}"
-      else
-        disk[:smart_device] = "megaraid,#{id}"
+      if id = disk.delete(:device_id)
+        if device = Dir.glob("/sys/bus/pci/devices/#{controller[:pci_slot]}/host*/target0:0:#{id}/0:0:#{id}:0/block/sd*").first
+          disk[:device] = "/dev/#{File.basename(device)}"
+        else
+          disk[:smart_device] = "megaraid,#{id}"
+        end
       end
     end
   end