diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index 8d679502727..3c6460b7694 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -1159,10 +1159,6 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic UserVmVO userVm = _userVmDao.findById(volume.getInstanceId()); if (userVm != null) { - if (volume.getVolumeType().equals(Volume.Type.ROOT) && userVm.getPowerState() != VirtualMachine.PowerState.PowerOff && hypervisorType == HypervisorType.VMware) { - s_logger.error(" For ROOT volume resize VM should be in Power Off state."); - throw new InvalidParameterValueException("VM current state is : " + userVm.getPowerState() + ". But VM should be in " + VirtualMachine.PowerState.PowerOff + " state."); - } // serialize VM operation AsyncJobExecutionContext jobContext = AsyncJobExecutionContext.getCurrentExecutionContext(); diff --git a/test/integration/component/test_rootvolume_resize.py b/test/integration/component/test_rootvolume_resize.py index f5bd47d1146..06b82786230 100644 --- a/test/integration/component/test_rootvolume_resize.py +++ b/test/integration/component/test_rootvolume_resize.py @@ -228,16 +228,14 @@ class TestResizeVolume(cloudstackTestCase): listall='True' ) rootvolume = list_volume_response[0] - if vm.state == "Running" and \ - (vm.hypervisor.lower() == "xenserver" or \ - vm.hypervisor.lower() == "vmware"): + if vm.state == "Running" and vm.hypervisor.lower() == "xenserver": self.virtual_machine.stop(apiclient) time.sleep(self.services["sleep"]) - if vm.hypervisor.lower() == "vmware": - rootdiskcontroller = self.getDiskController(vm) - if rootdiskcontroller!="scsi": - raise Exception("root volume resize only supported on scsi disk ," - "please check rootdiskcontroller type") + if vm.hypervisor.lower() == "vmware": + rootdiskcontroller = self.getDiskController(vm) + if rootdiskcontroller!="scsi": + raise Exception("root volume resize only supported on scsi disk ," + "please check rootdiskcontroller type") rootvolobj = Volume(rootvolume.__dict__) newsize = (rootvolume.size >> 30) + 2 @@ -245,8 +243,7 @@ class TestResizeVolume(cloudstackTestCase): if rootvolume is not None: try: rootvolobj.resize(apiclient, size=newsize) - if vm.hypervisor.lower() == "xenserver" or \ - vm.hypervisor.lower() == "vmware": + if vm.hypervisor.lower() == "xenserver": self.virtual_machine.start(apiclient) time.sleep(self.services["sleep"]) ssh = SshClient(self.virtual_machine.ssh_ip, 22, @@ -916,9 +913,7 @@ class TestResizeVolume(cloudstackTestCase): ) res = validateList(list_volume_response) self.assertNotEqual(res[2], INVALID_INPUT, "listVolumes returned invalid object in response") - if vm.state == "Running" and ( - vm.hypervisor.lower() == "xenserver" or - vm.hypervisor.lower() == "vmware"): + if vm.state == "Running" and vm.hypervisor.lower() == "xenserver": self.virtual_machine.stop(self.apiclient) time.sleep(self.services["sleep"]) @@ -998,9 +993,7 @@ class TestResizeVolume(cloudstackTestCase): ) res = validateList(list_volume_response) self.assertNotEqual(res[2], INVALID_INPUT, "listVolumes returned invalid object in response") - if vm.state == "Running" and ( - vm.hypervisor.lower() == "xenserver" or - vm.hypervisor.lower() == "vmware"): + if vm.state == "Running" and vm.hypervisor.lower() == "xenserver": self.virtual_machine.stop(self.apiclient) time.sleep(self.services["sleep"]) rootvolume = list_volume_response[0] @@ -1115,9 +1108,7 @@ class TestResizeVolume(cloudstackTestCase): ) res = validateList(list_volume_response) self.assertNotEqual(res[2], INVALID_INPUT, "listVolumes returned invalid object in response") - if vm.state == "Running" and \ - (vm.hypervisor.lower() == "xenserver" or - vm.hypervisor.lower() == "vmware"): + if vm.state == "Running" and vm.hypervisor.lower() == "xenserver": self.virtual_machine.stop(self.apiclient) time.sleep(self.services["sleep"]) rootvolume = list_volume_response[0] diff --git a/test/integration/smoke/test_volumes.py b/test/integration/smoke/test_volumes.py index e1d419ff150..13082859682 100644 --- a/test/integration/smoke/test_volumes.py +++ b/test/integration/smoke/test_volumes.py @@ -627,8 +627,8 @@ class TestVolumes(cloudstackTestCase): if hosts[0].hypervisor == "XenServer": self.virtual_machine.stop(self.apiClient) - elif hosts[0].hypervisor.lower() in ("vmware", "hyperv"): - self.skipTest("Resize Volume is unsupported on VmWare and Hyper-V") + elif hosts[0].hypervisor.lower() == "hyperv": + self.skipTest("Resize Volume is unsupported on Hyper-V") # Attempting to resize it should throw an exception, as we're using a non # customisable disk offering, therefore our size parameter should be ignored @@ -659,8 +659,8 @@ class TestVolumes(cloudstackTestCase): if hosts[0].hypervisor == "XenServer": self.virtual_machine.stop(self.apiClient) - elif hosts[0].hypervisor.lower() in ("vmware", "hyperv"): - self.skipTest("Resize Volume is unsupported on VmWare and Hyper-V") + elif hosts[0].hypervisor.lower() == "hyperv": + self.skipTest("Resize Volume is unsupported on Hyper-V") # resize the data disk self.debug("Resize Volume ID: %s" % self.volume.id)