Ramesh N has uploaded a new change for review. Change subject: engine: update the rebalance task status correctly in stop rebalance ......................................................................
engine: update the rebalance task status correctly in stop rebalance updating the rebalance task status using the rebalance status returned from stop rebalance vds command. Change-Id: I2a689db9a7651a5a48e1ffea70fc59431554e2bc Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1019598 Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopRebalanceGlusterVolumeCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopRebalanceGlusterVolumeVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java 4 files changed, 33 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/20524/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopRebalanceGlusterVolumeCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopRebalanceGlusterVolumeCommand.java index 5caa37c..ea09e32 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopRebalanceGlusterVolumeCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopRebalanceGlusterVolumeCommand.java @@ -6,6 +6,7 @@ import org.ovirt.engine.core.common.action.gluster.GlusterVolumeRebalanceParameters; import org.ovirt.engine.core.common.asynctasks.gluster.GlusterTaskType; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeTaskStatusEntity; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.job.JobExecutionStatus; import org.ovirt.engine.core.common.job.StepEnum; @@ -62,9 +63,18 @@ return; } - endStepJobAborted(); + GlusterVolumeTaskStatusEntity rebalanceStatusEntity = + (GlusterVolumeTaskStatusEntity) vdsReturnaValue.getReturnValue(); + JobExecutionStatus stepStatus = rebalanceStatusEntity.getStatusSummary().getStatus(); + if (JobExecutionStatus.FINISHED.equals(stepStatus)) { + endStepJob(stepStatus, getStepMessageMap(stepStatus), true); + } else { + endStepJob(stepStatus, getStepMessageMap(stepStatus), false); + } releaseVolumeLock(); setSucceeded(vdsReturnaValue.getSucceeded()); + getReturnValue().setActionReturnValue(rebalanceStatusEntity); + } @Override diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopRebalanceGlusterVolumeVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopRebalanceGlusterVolumeVDSCommand.java index 4f3713d..c09afb5 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopRebalanceGlusterVolumeVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopRebalanceGlusterVolumeVDSCommand.java @@ -1,16 +1,32 @@ package org.ovirt.engine.core.vdsbroker.gluster; +import java.util.Date; + +import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeTaskStatusEntity; import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeVDSParameters; +import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc; public class StopRebalanceGlusterVolumeVDSCommand <P extends GlusterVolumeVDSParameters> extends AbstractGlusterBrokerCommand<P> { + private GlusterVolumeTaskReturnForXmlRpc result; public StopRebalanceGlusterVolumeVDSCommand(P parameters) { super(parameters); } @Override + protected StatusForXmlRpc getReturnStatus() { + return result.mStatus; + } + + @Override protected void executeVdsBrokerCommand() { - status = getBroker().glusterVolumeRebalanceStop(getParameters().getVolumeName()); + String volumeName = getParameters().getVolumeName(); + result = getBroker().glusterVolumeRebalanceStatus(volumeName); proceedProxyReturnValue(); + + // Set the current engine time as status time + GlusterVolumeTaskStatusEntity entity = result.getStatusDetails(); + entity.setStatusTime(new Date()); + setReturnValue(entity); } } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java index 0216628..94ab2ab 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java @@ -226,7 +226,7 @@ GlusterTaskInfoReturnForXmlRpc glusterVolumeRebalanceStart(String volumeName, Boolean fixLayoutOnly, Boolean force); - StatusOnlyReturnForXmlRpc glusterVolumeRebalanceStop(String volumeName); + GlusterVolumeTaskReturnForXmlRpc glusterVolumeRebalanceStop(String volumeName); StatusOnlyReturnForXmlRpc glusterVolumeReplaceBrickStart(String volumeName, String existingBrickDir, diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java index daff7ae..359aee4 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java @@ -1033,9 +1033,11 @@ } @Override - public StatusOnlyReturnForXmlRpc glusterVolumeRebalanceStop(String volumeName) { + public GlusterVolumeTaskReturnForXmlRpc glusterVolumeRebalanceStop(String volumeName) { try { - return new StatusOnlyReturnForXmlRpc(vdsServer.glusterVolumeRebalanceStop(volumeName)); + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterVolumeRebalanceStatus(volumeName); + GlusterVolumeTaskReturnForXmlRpc wrapper = new GlusterVolumeTaskReturnForXmlRpc(xmlRpcReturnValue); + return wrapper; } catch (UndeclaredThrowableException ute) { throw new XmlRpcRunTimeException(ute); } -- To view, visit http://gerrit.ovirt.org/20524 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2a689db9a7651a5a48e1ffea70fc59431554e2bc Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ramesh N <rnach...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches