Arik Hadas has uploaded a new change for review.

Change subject: core: introduce InternalMigrateVmParameters
......................................................................

core: introduce InternalMigrateVmParameters

Introduce InternalMigrateVmParameters class that should be used when
calling internal migrate command.

It replaces MigrateVmParameters that was previously used, and was
confusing as it let the caller set 'force migration' flag which isn't in
use in internal migration operation.

Change-Id: I6054e71c99ac8dfc2f281d835048af597a9742c0
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmParameters.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintananceVdsCommand.java
3 files changed, 32 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/19/10319/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmCommand.java
index f517e5f..c37a100 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmCommand.java
@@ -6,10 +6,10 @@
 import org.ovirt.engine.core.dal.VdcBllMessages;
 
 @InternalCommandAttribute
-public class InternalMigrateVmCommand<T extends MigrateVmParameters> extends 
MigrateVmCommand<T> {
+public class InternalMigrateVmCommand<T extends InternalMigrateVmParameters> 
extends MigrateVmCommand<MigrateVmParameters> {
 
     public InternalMigrateVmCommand(T parameters) {
-        super(parameters);
+        super(convertInternalMigrateParamsToMigrateParams(parameters));
     }
 
     @Override
@@ -37,4 +37,14 @@
             return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_NON_MIGRTABLE);
         }
     }
+
+    private static MigrateVmParameters 
convertInternalMigrateParamsToMigrateParams(InternalMigrateVmParameters 
internalMigrateVmParameters) {
+        MigrateVmParameters migrateVmParameters = new MigrateVmParameters();
+
+        migrateVmParameters.setVmId(internalMigrateVmParameters.getVmId());
+        migrateVmParameters.setForceMigrationForNonMigratableVM(false);
+        
migrateVmParameters.setTransactionScopeOption(internalMigrateVmParameters.getTransactionScopeOption());
+
+        return migrateVmParameters;
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmParameters.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmParameters.java
new file mode 100644
index 0000000..6cf22d1
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InternalMigrateVmParameters.java
@@ -0,0 +1,17 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.common.action.VmOperationParameterBase;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.compat.TransactionScopeOption;
+
+public class InternalMigrateVmParameters extends VmOperationParameterBase {
+
+    public InternalMigrateVmParameters() {
+        setTransactionScopeOption(TransactionScopeOption.RequiresNew);
+    }
+
+    public InternalMigrateVmParameters(Guid vmId) {
+        super(vmId);
+        setTransactionScopeOption(TransactionScopeOption.RequiresNew);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintananceVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintananceVdsCommand.java
index a271026..32a9017 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintananceVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintananceVdsCommand.java
@@ -11,7 +11,6 @@
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.MaintananceVdsParameters;
-import org.ovirt.engine.core.common.action.MigrateVmParameters;
 import org.ovirt.engine.core.common.action.StoragePoolParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
@@ -85,16 +84,12 @@
         boolean succeeded = true;
 
         for (VM vm : vms) {
-            // if HAOnly is true check that vm is HA (auto_startup should be
-            // true)
+            // if HAOnly is true check that vm is HA (auto_startup should be 
true)
             if (vm.getStatus() != VMStatus.MigratingFrom && (!HAOnly || 
(HAOnly && vm.isAutoStartup()))) {
-                MigrateVmParameters tempVar = new MigrateVmParameters(false, 
vm.getId());
-                
tempVar.setTransactionScopeOption(TransactionScopeOption.RequiresNew);
-                ExecutionContext ctx = createMigrateVmContext(parentContext, 
vm);
                 VdcReturnValueBase result =
                         
Backend.getInstance().runInternalAction(VdcActionType.InternalMigrateVm,
-                                tempVar,
-                                new CommandContext(ctx));
+                                new InternalMigrateVmParameters(vm.getId()),
+                                new 
CommandContext(createMigrateVmContext(parentContext, vm)));
                 if (!result.getCanDoAction() || !(((Boolean) 
result.getActionReturnValue()).booleanValue())) {
                     succeeded = false;
                     AppendCustomValue("failedVms", vm.getVmName(), ",");


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6054e71c99ac8dfc2f281d835048af597a9742c0
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <aha...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to