ofri masad has uploaded a new change for review.

Change subject: core: prevent HA VM from being non-migratable
......................................................................

core: prevent HA VM from being non-migratable

user could define a VM as being HA and also not automatically-migratable.

Changed the canDoAction for AddVM and UpdateVM to prevent this situation

Change-Id: I2a7896ddd829fdd89396057114886acae3d65d10
Bug-Url: https://bugzilla.redhat.com/958318
Signed-off-by: Ofri Masad <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmManagementCommandBase.java
3 files changed, 6 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/90/16190/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
index d111978..0b1831e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
@@ -572,17 +572,7 @@
 
         if (vmStaticData != null) {
 
-            returnValue = vmStaticData.getMigrationSupport() != 
MigrationSupport.PINNED_TO_HOST
-                    || !vmStaticData.isAutoStartup();
-
-            if (!returnValue) {
-                
reasons.add(VdcBllMessages.ACTION_TYPE_FAILED_VM_CANNOT_BE_HIGHLY_AVAILABLE_AND_PINNED_TO_HOST
-                        .toString());
-            }
-
-            if (!returnValue) {
-                returnValue = returnValue && 
IsLegalClusterId(vmStaticData.getVdsGroupId(), reasons);
-            }
+            returnValue = IsLegalClusterId(vmStaticData.getVdsGroupId(), 
reasons);
 
             if (!validatePinningAndMigration(reasons, vmStaticData, 
getParameters().getVm().getCpuPinning())) {
                 returnValue = false;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
index b479d61..d8df569 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
@@ -237,12 +237,6 @@
             return false;
         }
 
-        if (vmFromParams.isAutoStartup()
-                && vmFromParams.getMigrationSupport() == 
MigrationSupport.PINNED_TO_HOST) {
-            
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_CANNOT_BE_HIGHLY_AVAILABLE_AND_PINNED_TO_HOST);
-            return false;
-        }
-
         if (!VmHandler.isMemorySizeLegal(vmFromParams.getOs(),
                 vmFromParams.getMemSizeMb(), 
getReturnValue().getCanDoActionMessages(),
                 getVdsGroup().getcompatibility_version())) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmManagementCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmManagementCommandBase.java
index 2af6373..3456e7e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmManagementCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmManagementCommandBase.java
@@ -189,6 +189,11 @@
             
reasons.add(VdcBllMessages.ACTION_TYPE_FAILED_VM_CANNOT_BE_PINNED_TO_CPU_AND_MIGRATABLE.toString());
             return false;
         }
+
+        if (vmStaticData.isAutoStartup() && vmStaticData.getMigrationSupport() 
!= MigrationSupport.MIGRATABLE) {
+            
reasons.add(VdcBllMessages.ACTION_TYPE_FAILED_VM_CANNOT_BE_HIGHLY_AVAILABLE_AND_PINNED_TO_HOST.toString());
+            return false;
+        }
         return true;
     }
 


-- 
To view, visit http://gerrit.ovirt.org/16190
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a7896ddd829fdd89396057114886acae3d65d10
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: ofri masad <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to