Kanagaraj M has uploaded a new change for review.

Change subject: gluster: Adding bricks to rebalace/remove-bricks status
......................................................................

gluster: Adding bricks to rebalace/remove-bricks status

Added the bricks which are part of the rebalance/remove-brick
operation to status details.

Change-Id: I0e5ea6c0884e52b9e2553335e12c6b15181993fe
Signed-off-by: Kanagaraj M <kmayi...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterAsyncTaskStatusQueryBase.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeTaskStatusForHost.java
2 files changed, 41 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/04/23004/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterAsyncTaskStatusQueryBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterAsyncTaskStatusQueryBase.java
index 6bad44b..6b666a0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterAsyncTaskStatusQueryBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterAsyncTaskStatusQueryBase.java
@@ -1,11 +1,14 @@
 package org.ovirt.engine.core.bll.gluster;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.ovirt.engine.core.bll.gluster.tasks.GlusterTaskUtils;
 import org.ovirt.engine.core.common.asynctasks.gluster.GlusterAsyncTask;
 import org.ovirt.engine.core.common.asynctasks.gluster.GlusterTaskParameters;
+import org.ovirt.engine.core.common.asynctasks.gluster.GlusterTaskType;
 import org.ovirt.engine.core.common.businessentities.VDS;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterServer;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeTaskStatusEntity;
@@ -64,6 +67,7 @@
     private GlusterVolumeTaskStatusEntity 
updateHostDetails(GlusterVolumeTaskStatusEntity taskStatus) {
         updateHostIP(taskStatus);
         taskStatus.sort();
+        populateBricks(taskStatus);
         return taskStatus;
     }
 
@@ -90,6 +94,33 @@
         }
     }
 
+    private void populateBricks(GlusterVolumeTaskStatusEntity taskStatus) {
+        if (taskStatus != null && volume.getAsyncTask() != null) {
+            {
+                List<GlusterBrickEntity> bricksInVolume = 
getGlusterBrickDao().getBricksOfVolume(volume.getId());
+                for (GlusterVolumeTaskStatusForHost hostStatus : 
taskStatus.getHostwiseStatusDetails()) {
+                    if (hostStatus.getHostId() != null) {
+                        ArrayList<GlusterBrickEntity> bricksInHost = new 
ArrayList<>();
+                        for(GlusterBrickEntity brick: bricksInVolume) {
+                            
if(brick.getServerId().equals(hostStatus.getHostId())) {
+                                if (volume.getAsyncTask().getType() == 
GlusterTaskType.REBALANCE) {
+                                    bricksInHost.add(brick);
+                                }
+                                else if (volume.getAsyncTask().getType() == 
GlusterTaskType.REMOVE_BRICK
+                                        && brick.getAsyncTask() != null
+                                        && 
brick.getAsyncTask().getTaskId().equals(volume.getAsyncTask().getTaskId())) {
+                                    bricksInHost.add(brick);
+                                }
+                            }
+                        }
+                        hostStatus.setBricks(bricksInHost);
+                    }
+                }
+            }
+        }
+    }
+
+
     private GlusterVolumeTaskStatusEntity 
setStartAndStopTime(GlusterVolumeTaskStatusEntity status) {
         if (status == null) {
             return null;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeTaskStatusForHost.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeTaskStatusForHost.java
index 5cf6b8b..ecf318e 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeTaskStatusForHost.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeTaskStatusForHost.java
@@ -2,6 +2,7 @@
 
 import java.io.Serializable;
 import java.util.Comparator;
+import java.util.List;
 
 import org.ovirt.engine.core.compat.Guid;
 
@@ -11,6 +12,7 @@
     private String hostName;
     private Guid hostUuid;
     private Guid hostId;
+    private List<GlusterBrickEntity> bricks;
 
     public GlusterVolumeTaskStatusForHost() {
     }
@@ -39,6 +41,14 @@
         this.hostId = hostId;
     }
 
+    public List<GlusterBrickEntity> getBricks() {
+        return bricks;
+    }
+
+    public void setBricks(List<GlusterBrickEntity> bricks) {
+        this.bricks = bricks;
+    }
+
     @Override
     public int compare(GlusterVolumeTaskStatusForHost arg0, 
GlusterVolumeTaskStatusForHost arg1) {
         return arg0.getHostName().compareTo(arg1.getHostName());


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

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

Reply via email to