Sahina Bose has uploaded a new change for review.

Change subject: engine: Update brick status to down when host down
......................................................................

engine: Update brick status to down when host down

When a host goes to non-operation state, update the
status of bricks on the host as down

Change-Id: Ib29f054c49962551773a63bf7484b4cee43de4de
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/SetNonOperationalVdsCommand.java
1 file changed, 14 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/21444/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetNonOperationalVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetNonOperationalVdsCommand.java
index 5bd2eae..d495bc8 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetNonOperationalVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetNonOperationalVdsCommand.java
@@ -1,5 +1,6 @@
 package org.ovirt.engine.core.bll;
 
+import java.util.List;
 import java.util.Map.Entry;
 
 import org.ovirt.engine.core.bll.context.CommandContext;
@@ -10,6 +11,8 @@
 import org.ovirt.engine.core.common.businessentities.NonOperationalReason;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.VM;
+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.VdcBllMessages;
 import 
org.ovirt.engine.core.common.vdscommands.SetVdsStatusVDSCommandParameters;
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
@@ -41,6 +44,9 @@
                             new SetVdsStatusVDSCommandParameters(getVdsId(),
                                     VDSStatus.NonOperational,
                                     
getParameters().getNonOperationalReason()));
+            if (getVdsGroup() != null && 
getVdsGroup().supportsGlusterService()) {
+                updateBrickStatusDown();
+            }
         }
 
         // if host failed to recover, no point in sending migrate, as it would 
fail.
@@ -77,6 +83,14 @@
         setSucceeded(true);
     }
 
+    private void updateBrickStatusDown() {
+        List<GlusterBrickEntity> brickEntities = 
getDbFacade().getGlusterBrickDao().getGlusterVolumeBricksByServerId(getVdsId());
+        for (GlusterBrickEntity brick : brickEntities) {
+            brick.setStatus(GlusterStatus.DOWN);
+        }
+        getDbFacade().getGlusterBrickDao().updateAll(brickEntities);
+    }
+
     @Override
     protected CommandContext createMigrateVmContext(ExecutionContext 
parentContext, VM vm) {
         return ExecutionHandler.createInternalJobContext();


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib29f054c49962551773a63bf7484b4cee43de4de
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