]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/hardware/templates/default/ohai.rb.erb
Round disk sizes
[chef.git] / cookbooks / hardware / templates / default / ohai.rb.erb
index 88c620fd1d47eb0c6987896641e5292426b43259..150efae45d8841d1ea1b938881b926decf35e855 100644 (file)
@@ -25,14 +25,17 @@ Ohai.plugin(:Hardware) do
     if kb == 0
       ""
     else
-      kblog10 = Math.log10(kb)
+      kblog10 = Math.log10(kb).floor
+
+      kb = kb.to_f * 2 / 10**kblog10
+      kb = kb.round.to_f / 2
 
       if kblog10 >= 9
-        format "%gTB", 10**(kblog10 - 9)
+        format "%gTB", kb * 10**(kblog10 - 9)
       elsif kblog10 >= 6
-        format "%dGB", 10**(kblog10 - 6)
+        format "%dGB", kb * 10**(kblog10 - 6)
       else
-        format "%dMB", 10**(kblog10 - 3)
+        format "%dMB", kb * 10**(kblog10 - 3)
       end
     end
   end
@@ -435,9 +438,7 @@ Ohai.plugin(:Hardware) do
           controller[:arrays] << array[:id]
 
           arrays << array
-
-          disk = nil
-        elsif array && line =~ /^Device is a Hard disk$/
+        elsif line =~ /^Device is a Hard disk$/
           disk = {
             :id => devices[:disks].count,
             :controller => controller[:id],