This is an automated email from the ASF dual-hosted git repository. dahn pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push: new 407990650f6 Improvements on information about disk sizes and offerings on VM deployment wizard's InfoCard (#9249) 407990650f6 is described below commit 407990650f6202e1955bc29d956187d8b7c52ef3 Author: Fabricio Duarte <fabricio.duarte...@gmail.com> AuthorDate: Fri Jul 12 10:13:47 2024 -0300 Improvements on information about disk sizes and offerings on VM deployment wizard's InfoCard (#9249) --- ui/src/components/view/InfoCard.vue | 13 +++++++-- ui/src/views/compute/DeployVM.vue | 58 +++++++++++++++++++++++++++---------- 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/ui/src/components/view/InfoCard.vue b/ui/src/components/view/InfoCard.vue index 267a759b28f..213078f2991 100644 --- a/ui/src/components/view/InfoCard.vue +++ b/ui/src/components/view/InfoCard.vue @@ -551,12 +551,19 @@ <span v-else>{{ resource.serviceofferingname || resource.serviceofferingid }}</span> </div> </div> - <div class="resource-detail-item" v-if="resource.diskofferingname && resource.diskofferingid"> + <div class="resource-detail-item" v-if="resource.rootdiskofferingid && resource.rootdiskofferingdisplaytext || resource.datadiskofferingid && resource.datadiskofferingdisplaytext"> <div class="resource-detail-item__label">{{ $t('label.diskoffering') }}</div> <div class="resource-detail-item__details"> <hdd-outlined /> - <router-link v-if="!isStatic && $router.resolve('/diskoffering/' + resource.diskofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/diskoffering/' + resource.diskofferingid }">{{ resource.diskofferingname || resource.diskofferingid }} </router-link> - <span v-else>{{ resource.diskofferingname || resource.diskofferingid }}</span> + <div v-if="resource.rootdiskofferingid"> + <router-link v-if="!isStatic && $router.resolve('/diskoffering/' + resource.rootdiskofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/diskoffering/' + resource.rootdiskofferingid }">{{ resource.rootdiskofferingdisplaytext }}</router-link> + <span v-else>{{ resource.rootdiskofferingdisplaytext }}</span> + </div> + <span v-if="resource.rootdiskofferingid && resource.datadiskofferingid"> | </span> + <div v-if="resource.datadiskofferingid"> + <router-link v-if="!isStatic && $router.resolve('/diskoffering/' + resource.datadiskofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/diskoffering/' + resource.datadiskofferingid }">{{ resource.datadiskofferingdisplaytext }}</router-link> + <span v-else>{{ resource.datadiskofferingdisplaytext }}</span> + </div> </div> </div> <div class="resource-detail-item" v-if="resource.backupofferingid"> diff --git a/ui/src/views/compute/DeployVM.vue b/ui/src/views/compute/DeployVM.vue index 746841e65a1..5720e545b24 100644 --- a/ui/src/views/compute/DeployVM.vue +++ b/ui/src/views/compute/DeployVM.vue @@ -1078,26 +1078,55 @@ export default { return ['User'].includes(this.$store.getters.userInfo.roletype) || store.getters.project.id }, diskSize () { + const customRootDiskSize = _.get(this.instanceConfig, 'rootdisksize', null) + const customDataDiskSize = _.get(this.instanceConfig, 'size', null) + let computeOfferingDiskSize = _.get(this.serviceOffering, 'rootdisksize', null) + computeOfferingDiskSize = computeOfferingDiskSize > 0 ? computeOfferingDiskSize : null + const diskOfferingDiskSize = _.get(this.diskOffering, 'disksize', null) + const overrideDiskOfferingDiskSize = _.get(this.overrideDiskOffering, 'disksize', null) + + let rootDiskSize let dataDiskSize - let rootDiskSize = _.get(this.instanceConfig, 'rootdisksize', 0) - const diskOfferingDiskSize = _.get(this.diskOffering, 'disksize', 0) - const customDiskSize = _.get(this.instanceConfig, 'size', 0) - if (this.vm.isoid != null) { - rootDiskSize = diskOfferingDiskSize > 0 ? diskOfferingDiskSize : customDiskSize + rootDiskSize = this.diskOffering?.iscustomized ? customDataDiskSize : diskOfferingDiskSize } else { - dataDiskSize = diskOfferingDiskSize > 0 ? diskOfferingDiskSize : customDiskSize + rootDiskSize = this.overrideDiskOffering?.iscustomized ? customRootDiskSize : overrideDiskOfferingDiskSize || computeOfferingDiskSize || this.dataPreFill.minrootdisksize + dataDiskSize = this.diskOffering?.iscustomized ? customDataDiskSize : diskOfferingDiskSize } const size = [] - if (rootDiskSize > 0) { + if (rootDiskSize) { size.push(`${rootDiskSize} GB (Root)`) } - if (dataDiskSize > 0) { + if (dataDiskSize) { size.push(`${dataDiskSize} GB (Data)`) } return size.join(' | ') }, + rootDiskOffering () { + const rootDiskOffering = this.vm.isoid != null ? this.diskOffering : this.overrideDiskOffering + + const id = _.get(rootDiskOffering, 'id', null) + const displayText = _.get(rootDiskOffering, 'displaytext', null) + + return { + id: id, + displayText: `${displayText} (Root)` + } + }, + dataDiskOffering () { + if (this.vm.isoid != null) { + return null + } + + const id = _.get(this.diskOffering, 'id', null) + const displayText = _.get(this.diskOffering, 'displaytext', null) + + return { + id: id, + displayText: `${displayText} (Data)` + } + }, affinityGroupIds () { return _.map(this.affinityGroups, 'id') }, @@ -1439,18 +1468,12 @@ export default { this.vm.hostname = host.name } - if (this.serviceOffering?.rootdisksize) { - this.vm.disksizetotalgb = this.serviceOffering.rootdisksize - } else if (this.diskSize) { + if (this.diskSize) { this.vm.disksizetotalgb = this.diskSize } else { this.vm.disksizetotalgb = null } - if (this.diskSize) { - this.vm.disksizetotalgb = this.diskSize - } - if (this.networks) { this.vm.networks = this.networks this.vm.defaultnetworkid = this.defaultnetworkid @@ -1498,6 +1521,11 @@ export default { this.vm.diskofferingsize = this.diskOffering.disksize } + this.vm.rootdiskofferingid = this.rootDiskOffering?.id + this.vm.rootdiskofferingdisplaytext = this.rootDiskOffering?.displayText + this.vm.datadiskofferingid = this.dataDiskOffering?.id + this.vm.datadiskofferingdisplaytext = this.dataDiskOffering?.displayText + if (this.affinityGroups) { this.vm.affinitygroup = this.affinityGroups }