diff --git a/src/sunstone/public/js/plugins/config-tab.js b/src/sunstone/public/js/plugins/config-tab.js index 23ec93b022..8c68f1e907 100644 --- a/src/sunstone/public/js/plugins/config-tab.js +++ b/src/sunstone/public/js/plugins/config-tab.js @@ -360,6 +360,7 @@ function updateUserConfigInfo(request,user_json) { var quotas_tab_html = Quotas.vms(info, default_user_quotas); quotas_tab_html += Quotas.cpu(info, default_user_quotas); quotas_tab_html += Quotas.memory(info, default_user_quotas); + quotas_tab_html += Quotas.volatile_size(info, default_user_quotas); quotas_tab_html += Quotas.image(info, default_user_quotas); quotas_tab_html += Quotas.network(info, default_user_quotas); quotas_tab_html += Quotas.datastore(info, default_user_quotas); @@ -456,6 +457,7 @@ function fillGroupQuotas(group_id){ var quotas_tab_html = Quotas.vms(info, default_group_quotas); quotas_tab_html += Quotas.cpu(info, default_group_quotas); quotas_tab_html += Quotas.memory(info, default_group_quotas); + quotas_tab_html += Quotas.volatile_size(info, default_group_quotas); quotas_tab_html += Quotas.image(info, default_group_quotas); quotas_tab_html += Quotas.network(info, default_group_quotas); quotas_tab_html += Quotas.datastore(info, default_group_quotas); diff --git a/src/sunstone/public/js/plugins/groups-tab.js b/src/sunstone/public/js/plugins/groups-tab.js index bf59d3caae..bac5cd7650 100644 --- a/src/sunstone/public/js/plugins/groups-tab.js +++ b/src/sunstone/public/js/plugins/groups-tab.js @@ -133,10 +133,10 @@ var group_quotas_tmpl = '
\
\
\
\ -
\ +
\ \
\ -
\ +
\ \
\
\ @@ -144,10 +144,10 @@ var group_quotas_tmpl = '
\
\
\
\ -
\ +
\ \
\ -
\ +
\ \
\
\ @@ -155,16 +155,27 @@ var group_quotas_tmpl = '
\
\
\
\ -
\ +
\ \
\ -
\ +
\ \
\
\
\
\
\ +
\ +
\ + \ +
\ +
\ + \ +
\ +
\ +
\ +
\ +
\
\
\
\ @@ -528,9 +539,10 @@ function updateGroupInfo(request,group){ var info = group.GROUP; var default_group_quotas = Quotas.default_quotas(info.DEFAULT_GROUP_QUOTAS); - var quotas_tab_html = '
' + Quotas.vms(info, default_group_quotas) + '
'; - quotas_tab_html += '
' + Quotas.cpu(info, default_group_quotas) + '
'; - quotas_tab_html += '
' + Quotas.memory(info, default_group_quotas) + '
'; + var quotas_tab_html = '
' + Quotas.vms(info, default_group_quotas) + '
'; + quotas_tab_html += '
' + Quotas.cpu(info, default_group_quotas) + '
'; + quotas_tab_html += '
' + Quotas.memory(info, default_group_quotas) + '
'; + quotas_tab_html += '
' + Quotas.volatile_size(info, default_group_quotas) + '
'; quotas_tab_html += '

'; quotas_tab_html += '
' + Quotas.image(info, default_group_quotas) + '
'; quotas_tab_html += '
' + Quotas.network(info, default_group_quotas) + '
'; diff --git a/src/sunstone/public/js/plugins/users-tab.js b/src/sunstone/public/js/plugins/users-tab.js index 2a1aa1d57a..2add849c63 100644 --- a/src/sunstone/public/js/plugins/users-tab.js +++ b/src/sunstone/public/js/plugins/users-tab.js @@ -219,10 +219,10 @@ var user_quotas_tmpl = '
\
\
\
\ -
\ +
\ \
\ -
\ +
\ \
\
\ @@ -230,10 +230,10 @@ var user_quotas_tmpl = '
\
\
\
\ -
\ +
\ \
\ -
\ +
\ \
\
\ @@ -241,16 +241,27 @@ var user_quotas_tmpl = '
\
\
\
\ -
\ +
\ \
\ -
\ +
\ \
\
\
\
\
\ +
\ +
\ + \ +
\ +
\ + \ +
\ +
\ +
\ +
\ +
\
\
\
\ @@ -780,9 +791,10 @@ function updateUserInfo(request,user){ }; var default_user_quotas = Quotas.default_quotas(info.DEFAULT_USER_QUOTAS) - var quotas_tab_html = '
' + Quotas.vms(info, default_user_quotas) + '
'; - quotas_tab_html += '
' + Quotas.cpu(info, default_user_quotas) + '
'; - quotas_tab_html += '
' + Quotas.memory(info, default_user_quotas) + '
'; + var quotas_tab_html = '
' + Quotas.vms(info, default_user_quotas) + '
'; + quotas_tab_html += '
' + Quotas.cpu(info, default_user_quotas) + '
'; + quotas_tab_html += '
' + Quotas.memory(info, default_user_quotas) + '
'; + quotas_tab_html += '
' + Quotas.volatile_size(info, default_user_quotas) + '
'; quotas_tab_html += '

'; quotas_tab_html += '
' + Quotas.image(info, default_user_quotas) + '
'; quotas_tab_html += '
' + Quotas.network(info, default_user_quotas) + '
'; diff --git a/src/sunstone/public/js/sunstone-util.js b/src/sunstone/public/js/sunstone-util.js index 24062c3a13..c2804934b9 100644 --- a/src/sunstone/public/js/sunstone-util.js +++ b/src/sunstone/public/js/sunstone-util.js @@ -1238,6 +1238,21 @@ var Quotas = { return ''; } }, + "volatile_size" : function(info, default_quotas){ + if (!$.isEmptyObject(info.VM_QUOTA)){ + var volatile_bar = quotaBarMB( + info.VM_QUOTA.VM.VOLATILE_SIZE_USED, + info.VM_QUOTA.VM.VOLATILE_SIZE, + default_quotas.VM_QUOTA.VM.VOLATILE_SIZE); + + var quotas_tab_html = + '
' + tr("Volatile disks") + '
'+volatile_bar+'

' + + return quotas_tab_html; + } else { + return ''; + } + }, "datastore" : function(info, default_quotas) { if (!$.isEmptyObject(info.DATASTORE_QUOTA)){ var quotas_tab_html = @@ -1410,9 +1425,10 @@ var Quotas = { if ($.isEmptyObject(default_quotas.VM_QUOTA)){ default_quotas.VM_QUOTA = { "VM" : { - "VMS" : "0", - "MEMORY" : "0", - "CPU" : "0" + "VMS" : "0", + "MEMORY" : "0", + "CPU" : "0", + "VOLATILE_SIZE" : "0" } } } @@ -1581,6 +1597,7 @@ function setupQuotaIcons(){ $('div#vm_quota input[name="VMS"]',dialog).val(quota.VMS); $('div#vm_quota input[name="MEMORY"]',dialog).val(quota.MEMORY); $('div#vm_quota input[name="CPU"]',dialog).val(quota.CPU); + $('div#vm_quota input[name="VOLATILE_SIZE"]',dialog).val(quota.VOLATILE_SIZE); break; case "DATASTORE": $('div#datastore_quota select[name="ID"]',dialog).val(quota.ID); @@ -1675,7 +1692,8 @@ function quotaListItem(quota_json){ case "VM": str += 'VMs: ' + quota_json.VMS + (quota_json.VMS_USED ? ' (' + quota_json.VMS_USED + '). ' : ". ") + '
' + 'Memory: ' + quota_json.MEMORY + (quota_json.MEMORY_USED ? ' MB (' + quota_json.MEMORY_USED + ' MB). ' : " MB. ") + '
' + - 'CPU: ' + quota_json.CPU + (quota_json.CPU_USED ? ' (' + quota_json.CPU_USED + '). ' : ". "); + 'CPU: ' + quota_json.CPU + (quota_json.CPU_USED ? ' (' + quota_json.CPU_USED + '). ' : ". ") + '
' + + 'Volatile disks: ' + quota_json.VOLATILE_SIZE + (quota_json.VOLATILE_SIZE_USED ? ' MB (' + quota_json.VOLATILE_SIZE_USED + ' MB). ' : " MB. "); break; case "DATASTORE": str += 'ID/Name: ' + getDatastoreName(quota_json.ID) + '. ' + '
' +