mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
parent
9d1b9efc34
commit
ad73f9a7c8
@ -108,6 +108,22 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
||||
column :VMS , "Number of VMS", :size=>9 do |d|
|
||||
begin
|
||||
q = quotas[d['ID']]
|
||||
|
||||
if q['VM_QUOTA']['VM'].nil? && d["ID"].to_i != 0
|
||||
q['VM_QUOTA']['VM'] = {
|
||||
"VMS" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}
|
||||
|
||||
quotas[d['ID']] = q
|
||||
end
|
||||
|
||||
limit = q['VM_QUOTA']['VM']["VMS"]
|
||||
|
||||
if limit == OneQuotaHelper::LIMIT_DEFAULT
|
||||
@ -129,6 +145,22 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
||||
column :MEMORY, "Total memory allocated to user VMs", :size=>17 do |d|
|
||||
begin
|
||||
q = quotas[d['ID']]
|
||||
|
||||
if q['VM_QUOTA']['VM'].nil? && d["ID"].to_i != 0
|
||||
q['VM_QUOTA']['VM'] = {
|
||||
"VMS" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}
|
||||
|
||||
quotas[d['ID']] = q
|
||||
end
|
||||
|
||||
limit = q['VM_QUOTA']['VM']["MEMORY"]
|
||||
|
||||
if limit == OneQuotaHelper::LIMIT_DEFAULT
|
||||
@ -153,6 +185,22 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
||||
column :CPU, "Total CPU allocated to user VMs", :size=>11 do |d|
|
||||
begin
|
||||
q = quotas[d['ID']]
|
||||
|
||||
if q['VM_QUOTA']['VM'].nil? && d["ID"].to_i != 0
|
||||
q['VM_QUOTA']['VM'] = {
|
||||
"VMS" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}
|
||||
|
||||
quotas[d['ID']] = q
|
||||
end
|
||||
|
||||
limit = q['VM_QUOTA']['VM']["CPU"]
|
||||
|
||||
if limit == OneQuotaHelper::LIMIT_DEFAULT
|
||||
@ -269,6 +317,6 @@ class OneGroupHelper < OpenNebulaHelper::OneHelper
|
||||
}
|
||||
|
||||
helper = OneQuotaHelper.new
|
||||
helper.format_quota(group_hash['GROUP'], default_quotas)
|
||||
helper.format_quota(group_hash['GROUP'], default_quotas, group.id)
|
||||
end
|
||||
end
|
||||
|
@ -189,8 +189,9 @@ class OneQuotaHelper
|
||||
# Outputs formated quota information to stdout
|
||||
# @param qh [Hash] with the quotas for a given resource
|
||||
# @param default_quotas_hash [XMLElement] with the default quota limits
|
||||
# @param resource_id [Integer] user/group ID
|
||||
#
|
||||
def format_quota(qh, default_quotas)
|
||||
def format_quota(qh, default_quotas, resource_id)
|
||||
str_h1="%-80s"
|
||||
|
||||
puts
|
||||
@ -203,6 +204,23 @@ class OneQuotaHelper
|
||||
|
||||
vm_quotas = [qh['VM_QUOTA']['VM']].flatten
|
||||
|
||||
# This initializes the VM quotas for users/groups that don't have any
|
||||
# resource usage yet. It not applied to oneamdin
|
||||
if vm_quotas[0].nil? && resource_id.to_i != 0
|
||||
limit = LIMIT_DEFAULT
|
||||
|
||||
vm_quotas = [{
|
||||
"VMS" => limit,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => limit,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => limit,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => limit,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}]
|
||||
end
|
||||
|
||||
if !vm_quotas[0].nil?
|
||||
CLIHelper::ShowTable.new(nil, self) do
|
||||
column :"NUMBER OF VMS", "", :right, :size=>17 do |d|
|
||||
|
@ -251,6 +251,22 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
||||
column :VMS , "Number of VMS", :size=>9 do |d|
|
||||
begin
|
||||
q = quotas[d['ID']]
|
||||
|
||||
if q['VM_QUOTA']['VM'].nil? && d["ID"].to_i != 0
|
||||
q['VM_QUOTA']['VM'] = {
|
||||
"VMS" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}
|
||||
|
||||
quotas[d['ID']] = q
|
||||
end
|
||||
|
||||
limit = q['VM_QUOTA']['VM']["VMS"]
|
||||
|
||||
if limit == OneQuotaHelper::LIMIT_DEFAULT
|
||||
@ -274,6 +290,22 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
||||
column :MEMORY, "Total memory allocated to user VMs", :size=>17 do |d|
|
||||
begin
|
||||
q = quotas[d['ID']]
|
||||
|
||||
if q['VM_QUOTA']['VM'].nil? && d["ID"].to_i != 0
|
||||
q['VM_QUOTA']['VM'] = {
|
||||
"VMS" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}
|
||||
|
||||
quotas[d['ID']] = q
|
||||
end
|
||||
|
||||
limit = q['VM_QUOTA']['VM']["MEMORY"]
|
||||
|
||||
if limit == OneQuotaHelper::LIMIT_DEFAULT
|
||||
@ -300,6 +332,22 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
||||
column :CPU, "Total CPU allocated to user VMs", :size=>11 do |d|
|
||||
begin
|
||||
q = quotas[d['ID']]
|
||||
|
||||
if q['VM_QUOTA']['VM'].nil? && d["ID"].to_i != 0
|
||||
q['VM_QUOTA']['VM'] = {
|
||||
"VMS" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VMS_USED" => "0",
|
||||
"CPU" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"CPU_USED" => "0",
|
||||
"MEMORY" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"MEMORY_USED" => "0",
|
||||
"VOLATILE_SIZE" => OneQuotaHelper::LIMIT_DEFAULT,
|
||||
"VOLATILE_SIZE_USED" => "0"
|
||||
}
|
||||
|
||||
quotas[d['ID']] = q
|
||||
end
|
||||
|
||||
limit = q['VM_QUOTA']['VM']["CPU"]
|
||||
|
||||
if limit == OneQuotaHelper::LIMIT_DEFAULT
|
||||
@ -393,6 +441,6 @@ class OneUserHelper < OpenNebulaHelper::OneHelper
|
||||
}
|
||||
|
||||
helper = OneQuotaHelper.new
|
||||
helper.format_quota(user_hash['USER'], default_quotas)
|
||||
helper.format_quota(user_hash['USER'], default_quotas, user.id)
|
||||
end
|
||||
end
|
||||
|
@ -513,32 +513,28 @@ function groupElementArray(group_json){
|
||||
}
|
||||
}
|
||||
|
||||
var vms = "-";
|
||||
var memory = "-";
|
||||
var cpu = "-";
|
||||
var vms = '<span class="progress-text right" style="font-size: 12px">-</span>';
|
||||
var memory = '<span class="progress-text right" style="font-size: 12px">-</span>';
|
||||
var cpu = '<span class="progress-text right" style="font-size: 12px">-</span>';
|
||||
|
||||
initEmptyQuotas(group);
|
||||
|
||||
if (!$.isEmptyObject(group.VM_QUOTA)){
|
||||
|
||||
var vms = quotaBar(
|
||||
vms = quotaBar(
|
||||
group.VM_QUOTA.VM.VMS_USED,
|
||||
group.VM_QUOTA.VM.VMS,
|
||||
default_group_quotas.VM_QUOTA.VM.VMS);
|
||||
|
||||
var memory = quotaBarMB(
|
||||
memory = quotaBarMB(
|
||||
group.VM_QUOTA.VM.MEMORY_USED,
|
||||
group.VM_QUOTA.VM.MEMORY,
|
||||
default_group_quotas.VM_QUOTA.VM.MEMORY);
|
||||
|
||||
var cpu = quotaBarFloat(
|
||||
cpu = quotaBarFloat(
|
||||
group.VM_QUOTA.VM.CPU_USED,
|
||||
group.VM_QUOTA.VM.CPU,
|
||||
default_group_quotas.VM_QUOTA.VM.CPU);
|
||||
} else {
|
||||
|
||||
var vms = quotaBar(0,0,null);
|
||||
var memory = quotaBarMB(0,0,null);
|
||||
var cpu = quotaBarFloat(0,0,null);
|
||||
|
||||
}
|
||||
|
||||
return [
|
||||
|
@ -2644,6 +2644,8 @@ function show_provision_dashboard() {
|
||||
success: function(request,user_json){
|
||||
var user = user_json.USER;
|
||||
|
||||
initEmptyQuotas(user);
|
||||
|
||||
if (!$.isEmptyObject(user.VM_QUOTA)){
|
||||
var default_user_quotas = Quotas.default_quotas(user.DEFAULT_USER_QUOTAS);
|
||||
|
||||
@ -2692,6 +2694,8 @@ function show_provision_dashboard() {
|
||||
success: function(request,group_json){
|
||||
var group = group_json.GROUP;
|
||||
|
||||
initEmptyQuotas(group);
|
||||
|
||||
if (!$.isEmptyObject(group.VM_QUOTA)){
|
||||
var default_group_quotas = Quotas.default_quotas(group.DEFAULT_GROUP_QUOTAS);
|
||||
|
||||
@ -5221,6 +5225,9 @@ function setup_provision_user_info(context) {
|
||||
$(".provision_info_vdc_user_name", context).text(data.NAME);
|
||||
|
||||
$(".provision-pricing-table_user_info", context).html("");
|
||||
|
||||
initEmptyQuotas(data);
|
||||
|
||||
if (!$.isEmptyObject(data.VM_QUOTA)){
|
||||
var default_user_quotas = Quotas.default_quotas(data.DEFAULT_USER_QUOTAS);
|
||||
quotas = quotaBarFloat(
|
||||
@ -5731,6 +5738,21 @@ function setup_provision_users_list(context){
|
||||
if (q != undefined){
|
||||
var quota = q.QUOTAS;
|
||||
|
||||
if ($.isEmptyObject(quota.VM_QUOTA)){
|
||||
var limit = (data.ID != 0 ? QUOTA_LIMIT_DEFAULT : QUOTA_LIMIT_UNLIMITED);
|
||||
|
||||
quota.VM_QUOTA = {
|
||||
VM: {
|
||||
VMS : limit,
|
||||
VMS_USED : 0,
|
||||
CPU : limit,
|
||||
CPU_USED : 0,
|
||||
MEMORY : limit,
|
||||
MEMORY_USED : 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$.isEmptyObject(quota.VM_QUOTA)){
|
||||
quotas = quotaBarFloat(
|
||||
quota.VM_QUOTA.VM.VMS_USED,
|
||||
|
@ -439,32 +439,28 @@ function userElements(){
|
||||
function userElementArray(user_json){
|
||||
var user = user_json.USER;
|
||||
|
||||
var vms = "-";
|
||||
var memory = "-";
|
||||
var cpu = "-";
|
||||
var vms = '<span class="progress-text right" style="font-size: 12px">-</span>';
|
||||
var memory = '<span class="progress-text right" style="font-size: 12px">-</span>';
|
||||
var cpu = '<span class="progress-text right" style="font-size: 12px">-</span>';
|
||||
|
||||
initEmptyQuotas(user);
|
||||
|
||||
if (!$.isEmptyObject(user.VM_QUOTA)){
|
||||
|
||||
var vms = quotaBar(
|
||||
vms = quotaBar(
|
||||
user.VM_QUOTA.VM.VMS_USED,
|
||||
user.VM_QUOTA.VM.VMS,
|
||||
default_user_quotas.VM_QUOTA.VM.VMS);
|
||||
|
||||
var memory = quotaBarMB(
|
||||
memory = quotaBarMB(
|
||||
user.VM_QUOTA.VM.MEMORY_USED,
|
||||
user.VM_QUOTA.VM.MEMORY,
|
||||
default_user_quotas.VM_QUOTA.VM.MEMORY);
|
||||
|
||||
var cpu = quotaBarFloat(
|
||||
cpu = quotaBarFloat(
|
||||
user.VM_QUOTA.VM.CPU_USED,
|
||||
user.VM_QUOTA.VM.CPU,
|
||||
default_user_quotas.VM_QUOTA.VM.CPU);
|
||||
} else {
|
||||
|
||||
var vms = quotaBar(0, 0, null);
|
||||
var memory = quotaBarMB(0, 0, null);
|
||||
var cpu = quotaBarFloat(0, 0, null);
|
||||
|
||||
}
|
||||
|
||||
// Build hidden user template
|
||||
|
@ -2967,7 +2967,28 @@ function emptyQuotas(resource_info){
|
||||
$.isEmptyObject(resource_info.NETWORK_QUOTA) );
|
||||
}
|
||||
|
||||
// If the VM quotas are empty, inits the VM counters to 0, and sets the limit
|
||||
// to 'default'. It is not applied to oneadmin user/group
|
||||
function initEmptyQuotas(resource){
|
||||
if ($.isEmptyObject(resource.VM_QUOTA) && resource.ID != 0){
|
||||
resource.VM_QUOTA = {
|
||||
VM: {
|
||||
VMS : QUOTA_LIMIT_DEFAULT,
|
||||
VMS_USED : 0,
|
||||
CPU : QUOTA_LIMIT_DEFAULT,
|
||||
CPU_USED : 0,
|
||||
MEMORY : QUOTA_LIMIT_DEFAULT,
|
||||
MEMORY_USED : 0,
|
||||
VOLATILE_SIZE : QUOTA_LIMIT_DEFAULT,
|
||||
VOLATILE_SIZE_USED : 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initQuotasPanel(resource_info, default_quotas, parent_id_str, edit_enabled){
|
||||
initEmptyQuotas(resource_info);
|
||||
|
||||
var vms_quota = Quotas.vms(resource_info, default_quotas);
|
||||
var cpu_quota = Quotas.cpu(resource_info, default_quotas);
|
||||
var memory_quota = Quotas.memory(resource_info, default_quotas);
|
||||
|
Loading…
x
Reference in New Issue
Block a user