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

Reply via email to