Avoid possible divide-by-zero or nil values

This commit is contained in:
Scott Schneider 2015-02-25 09:12:45 -08:00
parent a4a91a2df9
commit 3595453738

View file

@ -209,7 +209,7 @@ module Vmpooler
result[:status][:message] = "Found #{result[:status][:empty].length} empty pools." result[:status][:message] = "Found #{result[:status][:empty].length} empty pools."
end end
result[:capacity][:percent] = ((result[:capacity][:current].to_f / result[:capacity][:total].to_f) * 100.0).round(1) result[:capacity][:percent] = ((result[:capacity][:current].to_f / result[:capacity][:total].to_f) * 100.0).round(1) if result[:capacity][:total] > 0
result[:queue][:cloning] = $redis.get('vmpooler__tasks__clone').to_i result[:queue][:cloning] = $redis.get('vmpooler__tasks__clone').to_i
result[:queue][:booting] = result[:queue][:pending].to_i - result[:queue][:cloning].to_i result[:queue][:booting] = result[:queue][:pending].to_i - result[:queue][:cloning].to_i
@ -220,7 +220,7 @@ module Vmpooler
if result[:clone][:count][:total] > 0 if result[:clone][:count][:total] > 0
clone_times = $redis.hvals('vmpooler__clone__' + Date.today.to_s).map(&:to_f) clone_times = $redis.hvals('vmpooler__clone__' + Date.today.to_s).map(&:to_f)
result[:clone][:duration][:average] = (clone_times.reduce(:+) / result[:clone][:count][:total]).round(1) result[:clone][:duration][:average] = (clone_times.reduce(:+).to_f / result[:clone][:count][:total]).round(1)
result[:clone][:duration][:min], result[:clone][:duration][:max] = clone_times.minmax result[:clone][:duration][:min], result[:clone][:duration][:max] = clone_times.minmax
end end