Oved Ourfali has uploaded a new change for review. Change subject: engine : Update CoCo to use CommandContext ......................................................................
engine : Update CoCo to use CommandContext CommandCoordinator has been updated to find Commands with CommandContext constructor. RemoveSnapshotCommand and RemoveSnapshotSingleDiskLiveCommand have been updated to call CoCo with context when running child commands Change-Id: Id914da3ed1a29e651ad2491fc88a2705b7af6e8f Bug-Url: https://bugzilla.redhat.com/1115127 Signed-off-by: Ravi Nori <rn...@redhat.com> (cherry picked from commit 4ccb77f05177bf16e038dd59f0bce7da1fc2d43c) --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandCoordinatorImpl.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskManagerUtil.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/interfaces/CommandScheduler.java 6 files changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/29829/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java index f2c4939..0baafee 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java @@ -176,7 +176,8 @@ } else { TaskManagerUtil.executeAsyncCommand( getSnapshotActionType(), - buildRemoveSnapshotSingleDiskParameters(source, dest)); + buildRemoveSnapshotSingleDiskParameters(source, dest), + cloneContextAndDetachFromParent()); } List<Guid> quotasToRemoveFromCache = new ArrayList<Guid>(); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java index 7224604..64110ef 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java @@ -142,7 +142,7 @@ persistCommand(getParameters().getParentCommand(), true); if (nextCommand != null) { - TaskManagerUtil.executeAsyncCommand(nextCommand.getFirst(), nextCommand.getSecond()); + TaskManagerUtil.executeAsyncCommand(nextCommand.getFirst(), nextCommand.getSecond(), cloneContextAndDetachFromParent()); } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandCoordinatorImpl.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandCoordinatorImpl.java index 558815e..a71e5fc 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandCoordinatorImpl.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandCoordinatorImpl.java @@ -10,6 +10,7 @@ import org.ovirt.engine.core.bll.Backend; import org.ovirt.engine.core.bll.CommandBase; import org.ovirt.engine.core.bll.CommandsFactory; +import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.interfaces.BackendInternal; import org.ovirt.engine.core.bll.job.ExecutionContext; import org.ovirt.engine.core.bll.tasks.interfaces.CommandCoordinator; @@ -72,8 +73,9 @@ */ @Override public Future<VdcReturnValueBase> executeAsyncCommand(VdcActionType actionType, - VdcActionParametersBase parameters) { - return cmdExecutor.executeAsyncCommand(actionType, parameters); + VdcActionParametersBase parameters, + CommandContext cmdContext) { + return cmdExecutor.executeAsyncCommand(actionType, parameters, cmdContext); } @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java index 6ceac55..ed08b5e 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/CommandExecutor.java @@ -12,6 +12,7 @@ import org.ovirt.engine.core.bll.CommandBase; import org.ovirt.engine.core.bll.CommandsFactory; +import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.tasks.interfaces.CommandCallBack; import org.ovirt.engine.core.bll.tasks.interfaces.CommandCoordinator; import org.ovirt.engine.core.bll.utils.BackendUtils; @@ -100,8 +101,9 @@ } public Future<VdcReturnValueBase> executeAsyncCommand(final VdcActionType actionType, - final VdcActionParametersBase parameters) { - final CommandBase<?> command = CommandsFactory.createCommand(actionType, parameters); + final VdcActionParametersBase parameters, + final CommandContext cmdContext) { + final CommandBase<?> command = CommandsFactory.createCommand(actionType, parameters, cmdContext); return executor.submit(new Callable<VdcReturnValueBase>() { @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskManagerUtil.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskManagerUtil.java index 0e73f41..e3ef9d3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskManagerUtil.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskManagerUtil.java @@ -6,6 +6,7 @@ import java.util.concurrent.Future; import org.ovirt.engine.core.bll.CommandBase; +import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.tasks.interfaces.CommandCoordinator; import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.VdcActionParametersBase; @@ -163,8 +164,9 @@ } public static Future<VdcReturnValueBase> executeAsyncCommand(VdcActionType actionType, - VdcActionParametersBase parameters) { - return coco.executeAsyncCommand(actionType, parameters); + VdcActionParametersBase parameters, + CommandContext cmdContext) { + return coco.executeAsyncCommand(actionType, parameters, cmdContext); } public static VdcReturnValueBase getCommandReturnValue(Guid cmdId) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/interfaces/CommandScheduler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/interfaces/CommandScheduler.java index 105e10d..f5f5766 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/interfaces/CommandScheduler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/interfaces/CommandScheduler.java @@ -1,5 +1,6 @@ package org.ovirt.engine.core.bll.tasks.interfaces; +import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; @@ -7,5 +8,5 @@ import java.util.concurrent.Future; public interface CommandScheduler { - public abstract Future<VdcReturnValueBase> executeAsyncCommand(VdcActionType actionType, VdcActionParametersBase parameters); + public abstract Future<VdcReturnValueBase> executeAsyncCommand(VdcActionType actionType, VdcActionParametersBase parameters, CommandContext cmdContext); } -- To view, visit http://gerrit.ovirt.org/29829 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id914da3ed1a29e651ad2491fc88a2705b7af6e8f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Oved Ourfali <oourf...@redhat.com> Gerrit-Reviewer: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches