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