Shubhendu Tripathi has uploaded a new change for review.

Change subject: gluster: Modified to fail remove host if already removed from 
CLI
......................................................................

gluster: Modified to fail remove host if already removed from CLI

Modified to fail remove host if already removed from CLI and not yet
synchronized with UI. Earlier it was not failing in the UI and was
successfully removing the host from UI.

Bug-Url: https://bugzilla.redhat.com/1024183
Change-Id: I1e8c79bcbf9c3dc733641812f505170e369448a1
Signed-off-by: Shubhendu Tripathi <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java
3 files changed, 14 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/55/20655/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
index b13bd11..cbca662 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
@@ -46,6 +46,9 @@
          */
         if (isGlusterEnabled() && upServer != null) {
             glusterHostRemove();
+            if (!getSucceeded()) {
+                return;
+            }
         }
 
         /**
@@ -85,18 +88,18 @@
         if (returnValue && isGlusterEnabled()) {
             upServer = getClusterUtils().getUpServer(getVdsGroupId());
             if (!getParameters().isForceAction()) {
-                //  fail if host has bricks on a volume
+                // fail if host has bricks on a volume
                 if (hasVolumeBricksOnServer()) {
                     returnValue = 
failCanDoAction(VdcBllMessages.VDS_CANNOT_REMOVE_HOST_HAVING_GLUSTER_VOLUME);
                 } else if (upServer == null && clusterHasMultipleHosts()) {
-                    //  fail if there is no up server in cluster, and if host 
being removed is not
-                    //  the last server in cluster
+                    // fail if there is no up server in cluster, and if host 
being removed is not
+                    // the last server in cluster
                     addCanDoActionMessage(String.format("$clusterName %1$s", 
getVdsGroup().getName()));
                     returnValue = 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_NO_UP_SERVER_FOUND);
-                 }
+                }
             } else {
                 // if force, cannot remove only if there are bricks on server 
and there is an up server.
-                if (hasVolumeBricksOnServer() && upServer != null ) {
+                if (hasVolumeBricksOnServer() && upServer != null) {
                     returnValue = 
failCanDoAction(VdcBllMessages.VDS_CANNOT_REMOVE_HOST_HAVING_GLUSTER_VOLUME);
                 }
             }
@@ -222,13 +225,15 @@
         VDSGroup cluster = getVdsGroup();
         if (cluster == null || cluster.supportsVirtService()) {
             locks.put(getParameters().getVdsId().toString(),
-                    LockMessagesMatchUtil.makeLockingPair(LockingGroup.VDS, 
VdcBllMessages.ACTION_TYPE_FAILED_OBJECT_LOCKED));
+                    LockMessagesMatchUtil.makeLockingPair(LockingGroup.VDS,
+                            VdcBllMessages.ACTION_TYPE_FAILED_OBJECT_LOCKED));
         }
 
         // Need to acquire lock on cluster if the host belongs to a gluster 
cluster
         if (cluster != null && cluster.supportsGlusterService()) {
             locks.put(cluster.getId().toString(),
-                    
LockMessagesMatchUtil.makeLockingPair(LockingGroup.GLUSTER, 
VdcBllMessages.ACTION_TYPE_FAILED_OBJECT_LOCKED));
+                    LockMessagesMatchUtil.makeLockingPair(LockingGroup.GLUSTER,
+                            VdcBllMessages.ACTION_TYPE_FAILED_OBJECT_LOCKED));
         }
 
         return locks;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
index 422af2d..4995986 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
@@ -376,7 +376,7 @@
     GlusterVolumeProfileInfoFailed(4160),
     GlusterVolumeStatusAllFailedException(4161),
     GlusterAddHostFailed(4404),
-    RemoveGlusterServerFailed(4406),
+    GlusterHostRemoveFailedException(4406),
     GlusterPeerListFailed(4407),
     GlusterHostUUIDNotFound(4408),
     GlusterServicesListFailed(4409),
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java
index 2102242..5a34bc4 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java
@@ -39,7 +39,7 @@
         case GlusterVolumeProfileStartFailed:
         case GlusterVolumeProfileStopFailed:
         case GlusterAddHostFailed:
-        case RemoveGlusterServerFailed:
+        case GlusterHostRemoveFailedException:
         case GlusterPeerListFailed:
         case GlusterVolumeStatusFailed:
         case GlusterVolumeProfileInfoFailed:


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1e8c79bcbf9c3dc733641812f505170e369448a1
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shubhendu Tripathi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to