Sahina Bose has uploaded a new change for review.

Change subject: engine: Change gluster brick status to Unknown
......................................................................

engine: Change gluster brick status to Unknown

When a host goes to non responsive state, change the
gluster brick's status on the host to Unknown

Change-Id: I80f0e581b86a34b649343a931eaccf8e41b8e275
Bug-Url: https://bugzilla.redhat.com/1021441
Signed-off-by: Sahina Bose <sab...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterStatus.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
3 files changed, 20 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/21951/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
index 8f16fa4..579b9b5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
@@ -39,6 +39,8 @@
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VmDynamic;
 import org.ovirt.engine.core.common.businessentities.VmStatic;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
+import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus;
 import org.ovirt.engine.core.common.errors.VdcBllErrors;
 import org.ovirt.engine.core.common.eventqueue.EventResult;
 import org.ovirt.engine.core.common.eventqueue.EventType;
@@ -146,10 +148,19 @@
                             new FenceVdsActionParameters(vds.getId(), 
FenceActionType.Restart),
                             ExecutionHandler.createInternalJobContext());
                 }
+                moveBricksToUnknown(vds);
             }
         });
     }
 
+    private void moveBricksToUnknown(final VDS vds) {
+        List<GlusterBrickEntity> brickEntities = 
DbFacade.getInstance().getGlusterBrickDao().getGlusterVolumeBricksByServerId(vds.getId());
+        for (GlusterBrickEntity brick : brickEntities) {
+            brick.setStatus(GlusterStatus.UNKNOWN);
+        }
+        
DbFacade.getInstance().getGlusterBrickDao().updateBrickStatuses(brickEntities);
+    }
+
     @Override
     public boolean vdsUpEvent(final VDS vds) {
         HostStoragePoolParametersBase params = new 
HostStoragePoolParametersBase(vds);
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterStatus.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterStatus.java
index d326ea8..59442be 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterStatus.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterStatus.java
@@ -16,5 +16,9 @@
      * Volume needs to be started, for clients to be able to mount and use it. 
Brick is in Down state, the data cannot
      * be stored or retrieved from it.
      */
-    DOWN;
+    DOWN,
+    /**
+     * When the gluster status cannot be determined due to host being 
non-responsive
+     */
+    UNKNOWN;
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
index ee9ff7c..8b065d1 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
@@ -43,6 +43,10 @@
             statusImage = resources.upImage();
             tooltip = constants.up();
             break;
+        case UNKNOWN:
+            statusImage = resources.questionMarkImage();
+            tooltip = constants.unknown();
+            break;
         default:
             statusImage = resources.downImage();
             tooltip = constants.down();


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

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

Reply via email to