diff --git a/src/cli/one_helper/oneacct_helper.rb b/src/cli/one_helper/oneacct_helper.rb index 71ffefa223..00471f0d71 100644 --- a/src/cli/one_helper/oneacct_helper.rb +++ b/src/cli/one_helper/oneacct_helper.rb @@ -167,7 +167,24 @@ class AcctHelper < OpenNebulaHelper::OneHelper column :TOTAL_DISK_SIZE, "Total disk size used", :size=>6 do |d| # DISK size is measured in mb, unit_to_str expects KBytes - OpenNebulaHelper.unit_to_str(d["VM"]["MONITORING/TOTAL_DISK_SIZE"].to_i * 1024.0, {}) + total_disk_size = 0 + + vm_id = d["VM"]["ID"].to_i + + disks_all = [d["VM"]["TEMPLATE"]["DISK"]].flatten.compact rescue [] + disks_all.each do |disk| + total_disk_size += disk["SIZE"].to_i + end + + snapshots_all = [d["VM"]["SNAPSHOTS"]].flatten.compact rescue [] + snapshots_all.each do |snapshot| + snapshot_disk = [snapshot["SNAPSHOT"]].flatten.compact rescue [] + snapshot_disk.each do |snapshot| + total_disk_size += snapshot["SIZE"].to_i + end + end + + OpenNebulaHelper.unit_to_str(total_disk_size * 1024.0, {}) end default :VID, :HOSTNAME, :ACTION, :REASON, :START_TIME, :END_TIME, :MEMORY, :CPU, :NETRX, :NETTX, :TOTAL_DISK_SIZE diff --git a/src/cli/one_helper/onevm_helper.rb b/src/cli/one_helper/onevm_helper.rb index f4dd7ce4c0..a81f98e187 100644 --- a/src/cli/one_helper/onevm_helper.rb +++ b/src/cli/one_helper/onevm_helper.rb @@ -506,8 +506,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper "MEMORY" => "MONITORING/MEMORY", "CPU" => "MONITORING/CPU", "NETTX" => "MONITORING/NETTX", - "NETRX" => "MONITORING/NETRX", - "TOTAL DISK SIZE" => "MONITORING/TOTAL_DISK_SIZE" + "NETRX" => "MONITORING/NETRX" } poll_attrs.each { |k,v| @@ -515,8 +514,6 @@ class OneVMHelper < OpenNebulaHelper::OneHelper puts str % [k,vm[v]] elsif k == "MEMORY" puts str % [k, OpenNebulaHelper.unit_to_str(vm[v].to_i, {})] - elsif k =~ /DISK/ - puts str % [k, OpenNebulaHelper.unit_to_str(vm[v].to_i*1024, {})] else puts str % [k, OpenNebulaHelper.unit_to_str(vm[v].to_i/1024, {})] end