diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index fcf7008ad28..cc31eac1d2a 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -1261,6 +1261,19 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir return resizeVolumeCmd; } + private void resizeRootVolumeOfVmWithNewOffering(VMInstanceVO vmInstance, ServiceOfferingVO newServiceOffering) + throws ResourceAllocationException { + DiskOfferingVO newROOTDiskOffering = _diskOfferingDao.findById(newServiceOffering.getId()); + List vols = _volsDao.findReadyRootVolumesByInstance(vmInstance.getId()); + + for (final VolumeVO rootVolumeOfVm : vols) { + rootVolumeOfVm.setDiskOfferingId(newROOTDiskOffering.getId()); + ResizeVolumeCmd resizeVolumeCmd = new ResizeVolumeCmd(rootVolumeOfVm.getId(), newROOTDiskOffering.getMinIops(), newROOTDiskOffering.getMaxIops()); + _volumeService.resizeVolume(resizeVolumeCmd); + _volsDao.update(rootVolumeOfVm.getId(), rootVolumeOfVm); + } + } + @Override @ActionEvent(eventType = EventTypes.EVENT_NIC_CREATE, eventDescription = "Creating Nic", async = true) public UserVm addNicToVirtualMachine(AddNicToVMCmd cmd) throws InvalidParameterValueException, PermissionDeniedException, CloudRuntimeException {