diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json index 79ea9bb9d8ff..cf148c36b2f9 100644 --- a/ui/public/locales/en.json +++ b/ui/public/locales/en.json @@ -380,6 +380,7 @@ "label.app.name": "CloudStack", "label.application.policy.set": "Application Policy Set", "label.apply": "Apply", +"label.apply.to.all": "Apply to all", "label.apply.tungsten.firewall.policy": "Apply Firewall Policy", "label.apply.tungsten.network.policy": "Apply Network Policy", "label.apply.tungsten.tag": "Apply tag", @@ -3686,6 +3687,7 @@ "message.vnf.nic.move.down.fail": "Failed to move down this NIC", "message.vnf.no.credentials": "No credentials found for the VNF appliance.", "message.vnf.select.networks": "Please select the relevant network for each VNF NIC.", +"message.volume.pool.apply.to.all": "Selected storage pool will be applied to all existing volumes of the instance.", "message.volume.state.allocated": "The volume is allocated but has not been created yet.", "message.volume.state.attaching": "The volume is attaching to a volume from Ready state.", "message.volume.state.copying": "The volume is being copied from the image store to primary storage, in case it's an uploaded volume.", diff --git a/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue b/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue index 77f3e8f91f47..67a2bceb23e5 100644 --- a/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue +++ b/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue @@ -206,13 +206,19 @@ export default { closeVolumeStoragePoolSelector () { this.selectedVolumeForStoragePoolSelection = {} }, - handleVolumeStoragePoolSelection (volumeId, storagePool) { + handleVolumeStoragePoolSelection (volumeId, storagePool, applyToAll) { for (const volume of this.volumes) { - if (volume.id === volumeId) { + if (applyToAll) { volume.selectedstorageid = storagePool.id volume.selectedstoragename = storagePool.name volume.selectedstorageclusterid = storagePool.clusterid - break + } else { + if (volume.id === volumeId) { + volume.selectedstorageid = storagePool.id + volume.selectedstoragename = storagePool.name + volume.selectedstorageclusterid = storagePool.clusterid + break + } } } this.updateVolumeToStoragePoolSelection() diff --git a/ui/src/components/view/VolumeStoragePoolSelectForm.vue b/ui/src/components/view/VolumeStoragePoolSelectForm.vue index eea416faa1a4..9981418ee14d 100644 --- a/ui/src/components/view/VolumeStoragePoolSelectForm.vue +++ b/ui/src/components/view/VolumeStoragePoolSelectForm.vue @@ -25,6 +25,15 @@ :autoAssignAllowed="autoAssignAllowed" @select="handleSelect" /> + + + + +
@@ -36,11 +45,13 @@