diff --git a/src/cli/one_helper/onegroup_helper.rb b/src/cli/one_helper/onegroup_helper.rb index a1b062dfa4..4cbd25be86 100644 --- a/src/cli/one_helper/onegroup_helper.rb +++ b/src/cli/one_helper/onegroup_helper.rb @@ -110,12 +110,16 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper q = quotas[d['ID']] limit = q['VM_QUOTA']['VM']["VMS"] - if limit == "-1" + if limit == OneQuotaHelper::LIMIT_DEFAULT limit = pool_default_quotas("VM_QUOTA/VM/VMS") - limit = "0" if limit.nil? || limit == "" + limit = OneQuotaHelper::LIMIT_UNLIMITED if limit.nil? || limit == "" end - "%3d / %3d" % [q['VM_QUOTA']['VM']["VMS_USED"], limit] + if limit == OneQuotaHelper::LIMIT_UNLIMITED + "%3d / -" % [q['VM_QUOTA']['VM']["VMS_USED"]] + else + "%3d / %3d" % [q['VM_QUOTA']['VM']["VMS_USED"], limit] + end rescue NoMethodError "-" @@ -127,13 +131,19 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper q = quotas[d['ID']] limit = q['VM_QUOTA']['VM']["MEMORY"] - if limit == "-1" + if limit == OneQuotaHelper::LIMIT_DEFAULT limit = pool_default_quotas("VM_QUOTA/VM/MEMORY") - limit = "0" if limit.nil? || limit == "" + limit = OneQuotaHelper::LIMIT_UNLIMITED if limit.nil? || limit == "" end - "%7s / %7s" % [OpenNebulaHelper.unit_to_str(q['VM_QUOTA']['VM']["MEMORY_USED"].to_i,{},"M"), - OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")] + if limit == OneQuotaHelper::LIMIT_UNLIMITED + "%7s / -" % [ + OpenNebulaHelper.unit_to_str(q['VM_QUOTA']['VM']["MEMORY_USED"].to_i,{},"M")] + else + "%7s / %7s" % [ + OpenNebulaHelper.unit_to_str(q['VM_QUOTA']['VM']["MEMORY_USED"].to_i,{},"M"), + OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")] + end rescue NoMethodError "-" @@ -145,12 +155,16 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper q = quotas[d['ID']] limit = q['VM_QUOTA']['VM']["CPU"] - if limit == "-1" + if limit == OneQuotaHelper::LIMIT_DEFAULT limit = pool_default_quotas("VM_QUOTA/VM/CPU") - limit = "0" if limit.nil? || limit == "" + limit = OneQuotaHelper::LIMIT_UNLIMITED if limit.nil? || limit == "" end - "%3.1f / %3.1f" % [q['VM_QUOTA']['VM']["CPU_USED"], limit] + if limit == OneQuotaHelper::LIMIT_UNLIMITED + "%3.1f / -" % [q['VM_QUOTA']['VM']["CPU_USED"]] + else + "%3.1f / %3.1f" % [q['VM_QUOTA']['VM']["CPU_USED"], limit] + end rescue NoMethodError "-" diff --git a/src/cli/one_helper/onequota_helper.rb b/src/cli/one_helper/onequota_helper.rb index 286d1fb59f..fd3ea68b52 100644 --- a/src/cli/one_helper/onequota_helper.rb +++ b/src/cli/one_helper/onequota_helper.rb @@ -18,6 +18,9 @@ require 'cli_helper' class OneQuotaHelper + LIMIT_DEFAULT = "-1" + LIMIT_UNLIMITED = "-2" + EDITOR_PATH='/usr/bin/vi' HELP_QUOTA = <<-EOT.unindent @@ -52,7 +55,7 @@ class OneQuotaHelper # # In any quota: # -1 means use the default limit (set with the 'defaultquota' command) - # 0 means unlimited. + # -2 means unlimited. # # The usage counters "*_USED" are shown for information # purposes and will NOT be modified. @@ -62,7 +65,7 @@ class OneQuotaHelper HELP_DEFAULT_QUOTA_FOOTER = <<-EOT.unindent # # In any quota: - # 0 means unlimited. + # -2 means unlimited. # # The usage counters "*_USED" will always be 0 for the default # quotas, and can be ignored. @@ -209,7 +212,11 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "VM_QUOTA/VM/#{elem}") - "%7d / %7d" % [d["VMS_USED"], limit] + if limit == LIMIT_UNLIMITED + "%7d / -" % [d["VMS_USED"]] + else + "%7d / %7d" % [d["VMS_USED"], limit] + end end end @@ -220,10 +227,16 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "VM_QUOTA/VM/#{elem}") - "%8s / %8s" % [ - OpenNebulaHelper.unit_to_str(d["MEMORY_USED"].to_i,{},"M"), - OpenNebulaHelper.unit_to_str(limit.to_i,{},"M") - ] + if limit == LIMIT_UNLIMITED + "%8s / -" % [ + OpenNebulaHelper.unit_to_str(d["MEMORY_USED"].to_i,{},"M") + ] + else + "%8s / %8s" % [ + OpenNebulaHelper.unit_to_str(d["MEMORY_USED"].to_i,{},"M"), + OpenNebulaHelper.unit_to_str(limit.to_i,{},"M") + ] + end end end @@ -234,7 +247,11 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "VM_QUOTA/VM/#{elem}") - "%8.2f / %8.2f" % [d["CPU_USED"], limit] + if limit == LIMIT_UNLIMITED + "%8.2f / -" % [d["CPU_USED"]] + else + "%8.2f / %8.2f" % [d["CPU_USED"], limit] + end end end @@ -245,10 +262,16 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "VM_QUOTA/VM/#{elem}") - "%8s / %8s" % [ - OpenNebulaHelper.unit_to_str(d["VOLATILE_SIZE_USED"].to_i,{},"M"), - OpenNebulaHelper.unit_to_str(limit.to_i,{},"M") - ] + if limit == LIMIT_UNLIMITED + "%8s / -" % [ + OpenNebulaHelper.unit_to_str(d["VOLATILE_SIZE_USED"].to_i,{},"M") + ] + else + "%8s / %8s" % [ + OpenNebulaHelper.unit_to_str(d["VOLATILE_SIZE_USED"].to_i,{},"M"), + OpenNebulaHelper.unit_to_str(limit.to_i,{},"M") + ] + end end end end.show(vm_quotas, {}) @@ -271,7 +294,11 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "DATASTORE_QUOTA/DATASTORE[ID=#{d['ID']}]/#{elem}") - "%8d / %8d" % [d["IMAGES_USED"], limit] + if limit == LIMIT_UNLIMITED + "%8d / -" % [d["IMAGES_USED"]] + else + "%8d / %8d" % [d["IMAGES_USED"], limit] + end end end @@ -282,10 +309,16 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "DATASTORE_QUOTA/DATASTORE[ID=#{d['ID']}]/#{elem}") - "%8s / %8s" % [ - OpenNebulaHelper.unit_to_str(d["SIZE_USED"].to_i,{},"M"), - OpenNebulaHelper.unit_to_str(limit.to_i,{},"M") - ] + if limit == LIMIT_UNLIMITED + "%8s / -" % [ + OpenNebulaHelper.unit_to_str(d["SIZE_USED"].to_i,{},"M") + ] + else + "%8s / %8s" % [ + OpenNebulaHelper.unit_to_str(d["SIZE_USED"].to_i,{},"M"), + OpenNebulaHelper.unit_to_str(limit.to_i,{},"M") + ] + end end end end.show(ds_quotas, {}) @@ -308,7 +341,11 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "NETWORK_QUOTA/NETWORK[ID=#{d['ID']}]/#{elem}") - "%8d / %8d" % [d["LEASES_USED"], limit] + if limit == LIMIT_UNLIMITED + "%8d / -" % [d["LEASES_USED"]] + else + "%8d / %8d" % [d["LEASES_USED"], limit] + end end end end.show(net_quotas, {}) @@ -331,7 +368,11 @@ class OneQuotaHelper limit = helper.get_default_limit( limit, "IMAGE_QUOTA/IMAGE[ID=#{d['ID']}]/RVMS") - "%8d / %8d" % [d["RVMS_USED"], limit] + if limit == LIMIT_UNLIMITED + "%8d / -" % [d["RVMS_USED"]] + else + "%8d / %8d" % [d["RVMS_USED"], limit] + end end end end.show(image_quotas, {}) @@ -339,13 +380,13 @@ class OneQuotaHelper end def get_default_limit(limit, xpath) - if limit == "-1" + if limit == LIMIT_DEFAULT if !@default_quotas.nil? limit = @default_quotas[xpath] - limit = "0" if limit.nil? || limit == "" + limit = LIMIT_UNLIMITED if limit.nil? || limit == "" else - limit = "0" + limit = LIMIT_UNLIMITED end end diff --git a/src/cli/one_helper/oneuser_helper.rb b/src/cli/one_helper/oneuser_helper.rb index a4a7aaea8b..ce850ac7f1 100644 --- a/src/cli/one_helper/oneuser_helper.rb +++ b/src/cli/one_helper/oneuser_helper.rb @@ -190,12 +190,18 @@ class OneUserHelper < OpenNebulaHelper::OneHelper q = quotas[d['ID']] limit = q['VM_QUOTA']['VM']["VMS"] - if limit == "-1" + if limit == OneQuotaHelper::LIMIT_DEFAULT limit = pool_default_quotas("VM_QUOTA/VM/VMS") - limit = "0" if limit.nil? || limit == "" + if limit.nil? || limit == "" + limit = OneQuotaHelper::LIMIT_UNLIMITED + end end - "%3d / %3d" % [q['VM_QUOTA']['VM']["VMS_USED"], limit] + if limit == OneQuotaHelper::LIMIT_UNLIMITED + "%3d / -" % [q['VM_QUOTA']['VM']["VMS_USED"]] + else + "%3d / %3d" % [q['VM_QUOTA']['VM']["VMS_USED"], limit] + end rescue NoMethodError "-" @@ -207,13 +213,21 @@ class OneUserHelper < OpenNebulaHelper::OneHelper q = quotas[d['ID']] limit = q['VM_QUOTA']['VM']["MEMORY"] - if limit == "-1" + if limit == OneQuotaHelper::LIMIT_DEFAULT limit = pool_default_quotas("VM_QUOTA/VM/MEMORY") - limit = "0" if limit.nil? || limit == "" + if limit.nil? || limit == "" + limit = OneQuotaHelper::LIMIT_UNLIMITED + end end - "%7s / %7s" % [OpenNebulaHelper.unit_to_str(q['VM_QUOTA']['VM']["MEMORY_USED"].to_i,{},"M"), - OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")] + if limit == OneQuotaHelper::LIMIT_UNLIMITED + "%7s / -" % [ + OpenNebulaHelper.unit_to_str(q['VM_QUOTA']['VM']["MEMORY_USED"].to_i,{},"M")] + else + "%7s / %7s" % [ + OpenNebulaHelper.unit_to_str(q['VM_QUOTA']['VM']["MEMORY_USED"].to_i,{},"M"), + OpenNebulaHelper.unit_to_str(limit.to_i,{},"M")] + end rescue NoMethodError "-" @@ -225,12 +239,18 @@ class OneUserHelper < OpenNebulaHelper::OneHelper q = quotas[d['ID']] limit = q['VM_QUOTA']['VM']["CPU"] - if limit == "-1" + if limit == OneQuotaHelper::LIMIT_DEFAULT limit = pool_default_quotas("VM_QUOTA/VM/CPU") - limit = "0" if limit.nil? || limit == "" + if limit.nil? || limit == "" + limit = OneQuotaHelper::LIMIT_UNLIMITED + end end - "%3.1f / %3.1f" % [q['VM_QUOTA']['VM']["CPU_USED"], limit] + if limit == OneQuotaHelper::LIMIT_UNLIMITED + "%3.1f / -" % [q['VM_QUOTA']['VM']["CPU_USED"]] + else + "%3.1f / %3.1f" % [q['VM_QUOTA']['VM']["CPU_USED"], limit] + end rescue NoMethodError "-"