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

Reply via email to