Allon Mureinik has uploaded a new change for review. Change subject: core: VmRunHandler: snapshot check on diskless VMs ......................................................................
core: VmRunHandler: snapshot check on diskless VMs Since oVirt 3.1 supports snapshoting a diskless VM, VmRunHandler should make sure a VM is not locked or during a snapshot when attempting to run it even if it doesn't have any disks. Change-Id: I232971b0d92aed1266d51ef89b2ae8175f08fbb2 Signed-off-by: Allon Mureinik <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java 1 file changed, 18 insertions(+), 14 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/46/12246/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java index d853b76..d094abd 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmRunHandler.java @@ -102,30 +102,34 @@ && DbFacade.getInstance().getVmNetworkInterfaceDao().getAllForVm(vm.getId()).size() == 0) { message.add(VdcBllMessages.VM_CANNOT_RUN_FROM_NETWORK_WITHOUT_NETWORK.toString()); retValue = false; - } else if (vmDisks.size() > 0) { + } + + if (retValue) { + ValidationResult vmNotLockedResult = new VmValidator(vm).vmNotLocked(); + if (!vmNotLockedResult.isValid()) { + message.add(vmNotLockedResult.getMessage().name()); + retValue = false; + } + } + + if (retValue) { ValidationResult vmDuringSnapshotResult = snapshotsValidator.vmNotDuringSnapshot(vm.getId()); if (!vmDuringSnapshotResult.isValid()) { message.add(vmDuringSnapshotResult.getMessage().name()); retValue = false; } + } - if (retValue) { - storage_pool sp = getStoragePoolDAO().get(vm.getStoragePoolId()); - ValidationResult spUpResult = new StoragePoolValidator(sp).isUp(); - if (!spUpResult.isValid()) { - message.add(spUpResult.getMessage().name()); - retValue = false; - } - } - - if (retValue && !performImageChecksForRunningVm(vm, message, runParams, vmDisks)) { + if (retValue && vmDisks.size() > 0) { + storage_pool sp = getStoragePoolDAO().get(vm.getStoragePoolId()); + ValidationResult spUpResult = new StoragePoolValidator(sp).isUp(); + if (!spUpResult.isValid()) { + message.add(spUpResult.getMessage().name()); retValue = false; } - ValidationResult vmNotLockedResult = new VmValidator(vm).vmNotLocked(); - if (!vmNotLockedResult.isValid()) { - message.add(vmNotLockedResult.getMessage().name()); + if (retValue && !performImageChecksForRunningVm(vm, message, runParams, vmDisks)) { retValue = false; } -- To view, visit http://gerrit.ovirt.org/12246 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I232971b0d92aed1266d51ef89b2ae8175f08fbb2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Allon Mureinik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
