From a490e74d11c7d91333827da6c2a20907ca77dff3 Mon Sep 17 00:00:00 2001 From: Fabricio Duarte Date: Mon, 18 Sep 2023 17:21:28 -0300 Subject: [PATCH 1/2] Fix disk offering override in VM deployment wizard --- ui/src/views/compute/DeployVM.vue | 36 +++++++------------ .../compute/wizard/DiskOfferingSelection.vue | 1 + 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/ui/src/views/compute/DeployVM.vue b/ui/src/views/compute/DeployVM.vue index 9d07cb51db3b..a7b773a6631b 100644 --- a/ui/src/views/compute/DeployVM.vue +++ b/ui/src/views/compute/DeployVM.vue @@ -1331,36 +1331,24 @@ export default { } this.serviceOffering = _.find(this.options.serviceOfferings, (option) => option.id === instanceConfig.computeofferingid) - if (this.serviceOffering?.diskofferingid) { - if (iso) { - this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === this.serviceOffering.diskofferingid) - } else { - instanceConfig.overridediskofferingid = this.serviceOffering.diskofferingid - } - } - if (!iso && this.diskSelected) { - this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid) - } - if (this.rootDiskSelected?.id) { - instanceConfig.overridediskofferingid = this.rootDiskSelected.id - } + + instanceConfig.overridediskofferingid = this.rootDiskSelected?.id || this.serviceOffering?.diskofferingid if (instanceConfig.overridediskofferingid) { this.overrideDiskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.overridediskofferingid) } else { this.overrideDiskOffering = null } - if (!iso && this.diskSelected) { - this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid) - } - if (this.rootDiskSelected?.id) { - instanceConfig.overridediskofferingid = this.rootDiskSelected.id - } - if (instanceConfig.overridediskofferingid) { - this.overrideDiskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.overridediskofferingid) + if (iso) { + if (this.serviceOffering?.diskofferingid) { + this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === this.serviceOffering.diskofferingid) + } } else { - this.overrideDiskOffering = null + if (this.diskSelected) { + this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid) + } } + this.zone = _.find(this.options.zones, (option) => option.id === instanceConfig.zoneid) this.affinityGroups = _.filter(this.options.affinityGroups, (option) => _.includes(instanceConfig.affinitygroupids, option.id)) this.networks = this.getSelectedNetworksWithExistingConfig(_.filter(this.options.networks, (option) => _.includes(instanceConfig.networkids, option.id))) @@ -1637,6 +1625,7 @@ export default { this.showRootDiskSizeChanger = false } else { this.rootDiskSelected = null + this.form.overridediskofferingid = undefined } this.showOverrideDiskOfferingOption = val }, @@ -1875,7 +1864,6 @@ export default { if (this.loading.deploy) return this.formRef.value.validate().then(async () => { const values = toRaw(this.form) - if (!values.templateid && !values.isoid) { this.$notification.error({ message: this.$t('message.request.failed'), @@ -1962,7 +1950,7 @@ export default { if (this.selectedTemplateConfiguration) { deployVmData['details[0].configurationId'] = this.selectedTemplateConfiguration.id } - if (!this.serviceOffering.diskofferingstrictness && values.overridediskofferingid) { + if (!this.serviceOffering.diskofferingstrictness && values.overridediskofferingid && !values.isoid) { deployVmData.overridediskofferingid = values.overridediskofferingid if (values.rootdisksize && values.rootdisksize > 0) { deployVmData.rootdisksize = values.rootdisksize diff --git a/ui/src/views/compute/wizard/DiskOfferingSelection.vue b/ui/src/views/compute/wizard/DiskOfferingSelection.vue index 6262795c5955..3785baabb0b6 100644 --- a/ui/src/views/compute/wizard/DiskOfferingSelection.vue +++ b/ui/src/views/compute/wizard/DiskOfferingSelection.vue @@ -227,6 +227,7 @@ export default { this.selectedRowKeys = value this.$emit('select-disk-offering-item', value[0]) this.$emit('on-selected-disk-size', this.diskSelected) + this.$emit('on-selected-root-disk-size', this.diskSelected) }, handleSearch (value) { this.filter = value From b08c501458750d26d29f90dec976e04451cacaf7 Mon Sep 17 00:00:00 2001 From: Fabricio Duarte Date: Thu, 29 Feb 2024 13:53:41 -0300 Subject: [PATCH 2/2] Reduce indentation --- ui/src/views/compute/DeployVM.vue | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/ui/src/views/compute/DeployVM.vue b/ui/src/views/compute/DeployVM.vue index a7b773a6631b..2de28c9b79c1 100644 --- a/ui/src/views/compute/DeployVM.vue +++ b/ui/src/views/compute/DeployVM.vue @@ -1339,14 +1339,10 @@ export default { this.overrideDiskOffering = null } - if (iso) { - if (this.serviceOffering?.diskofferingid) { - this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === this.serviceOffering.diskofferingid) - } - } else { - if (this.diskSelected) { - this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid) - } + if (iso && this.serviceOffering?.diskofferingid) { + this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === this.serviceOffering.diskofferingid) + } else if (!iso && this.diskSelected) { + this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid) } this.zone = _.find(this.options.zones, (option) => option.id === instanceConfig.zoneid)