From 47a170757a34a658397e8992a8f5a69f2945ed1a Mon Sep 17 00:00:00 2001 From: Bryan Lima <42067040+BryanMLima@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:29:37 -0300 Subject: [PATCH] [UI] Addressing Dynamically Scale of KVM VMs (#5923) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Externalize config to increment or not VM metrics in memory * UI fix for dynamically scale of KVM VMs Co-authored-by: SadiJr <17a0db2854@firemailbox.club> Co-authored-by: SadiJr <31869303+SadiJr@users.noreply.github.com> Co-authored-by: SadiJr Co-authored-by: José Flauzino --- ui/public/locales/en.json | 1 + ui/public/locales/pt_BR.json | 1 + ui/src/views/compute/ScaleVM.vue | 22 ++++++++++++++++++- .../views/compute/wizard/ComputeSelection.vue | 5 +++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json index 9e10469d305..143904aed94 100644 --- a/ui/public/locales/en.json +++ b/ui/public/locales/en.json @@ -3016,6 +3016,7 @@ "message.error.zone.name": "Please enter zone name", "message.error.zone.type": "Please select zone type", "message.error.linstor.resourcegroup": "Please enter the Linstor Resource-Group", +"message.error.fixed.offering.kvm": "It's not possible to scale up VMs that utilize KVM hypervisor with a fixed compute offering.", "message.fail.to.delete": "Failed to delete.", "message.failed.to.add": "Failed to add", "message.failed.to.assign.vms": "Failed to assign VMs", diff --git a/ui/public/locales/pt_BR.json b/ui/public/locales/pt_BR.json index 9dd3c63000e..1294c690ee3 100644 --- a/ui/public/locales/pt_BR.json +++ b/ui/public/locales/pt_BR.json @@ -2144,6 +2144,7 @@ "message.enabling.zone.dots": "Habilitando Zona....", "message.enter.seperated.list.multiple.cidrs": "Por favor entre a de CIDRs separadas por v\u00edrgula, se houver mais de uma", "message.enter.token": "Por favor entre o token que voc\u00ea recebeu no e-mail privado.", +"message.error.fixed.offering.kvm": "Não é possível escalar VMs que utilizam o hipervisor KVM com oferta de computa\u00e7\u00e3o fixa.", "message.generate.keys": "Por favor confirme que voc\u00ea deseja gerar novas chaves para este usu\u00e1rio.", "message.gslb.delete.confirm": "Confirme que voc\u00ea deseja apagar este GSLB", "message.gslb.lb.remove.confirm": "Confirme que voc\u00ea deseja remover o balanceamento de carga deste GSLB", diff --git a/ui/src/views/compute/ScaleVM.vue b/ui/src/views/compute/ScaleVM.vue index 4a3200a3631..0a0caa0cc54 100644 --- a/ui/src/views/compute/ScaleVM.vue +++ b/ui/src/views/compute/ScaleVM.vue @@ -23,6 +23,10 @@ + + + + offering.id === this.resource.serviceofferingid) + this.currentOffer = this.offerings[0] + if (this.currentOffer === undefined) { + this.fixedOfferingKvm = true + } + } this.offerings.map(i => { this.offeringsMap[i.id] = i }) }).finally(() => { this.loading = false @@ -144,6 +157,13 @@ export default { } return this.selectedOffering?.serviceofferingdetails?.minmemory * 1 || 32 }, + getCPUSpeed () { + // We can only scale up while a VM is running + if (this.resource.state === 'Running') { + return this.resource.cpuspeed + } + return this.selectedOffering?.serviceofferingdetails?.cpuspeed * 1 || 1 + }, getMessage () { if (this.resource.hypervisor === 'VMware') { return this.$t('message.read.admin.guide.scaling.up') diff --git a/ui/src/views/compute/wizard/ComputeSelection.vue b/ui/src/views/compute/wizard/ComputeSelection.vue index 8d68fb9c9d3..df35162e34b 100644 --- a/ui/src/views/compute/wizard/ComputeSelection.vue +++ b/ui/src/views/compute/wizard/ComputeSelection.vue @@ -107,6 +107,10 @@ export default { type: Boolean, default: true }, + cpuSpeed: { + type: Number, + default: 0 + }, minCpu: { type: Number, default: 0 @@ -198,6 +202,7 @@ export default { fillValue () { this.cpuNumberInputValue = this.minCpu this.memoryInputValue = this.minMemory + this.cpuSpeedInputValue = this.cpuSpeed if (!this.preFillContent) { this.updateComputeCpuNumber(this.cpuNumberInputValue)