Sahina Bose has uploaded a new change for review.

Change subject: engine:VDS enable gluster hook command
......................................................................

engine:VDS enable gluster hook command

Added VDS command to enable a gluster hook
on a server given the hook details - gluster command,
stage and hook name.

Change-Id: I4a899fde20d9c47dd79e6c6983ee6555fdf00176
Signed-off-by: Sahina Bose <sab...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterHookVDSParameters.java
M backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/EnableGlusterHookVDSCommand.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/VdsServerConnector.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java
10 files changed, 111 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/70/13270/1

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 7ccb9d5..654c874 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
@@ -367,7 +367,10 @@
     GlusterAddHostFailed(4404),
     RemoveGlusterServerFailed(4406),
     GlusterPeerListFailed(4407),
-
+    GlusterHookFailed(4500),
+    GlusterHookEnableFailed(4501),
+    GlusterHookAlreadyEnabled(4503),
+    GlusterHookNotFound(4505),
 
     UnicodeArgumentException(4900),
 
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
index adccba5..dcece04 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
@@ -143,6 +143,7 @@
     GetGlusterVolumeAdvancedDetails("org.ovirt.engine.core.vdsbroker.gluster"),
     GlusterVolumesList("org.ovirt.engine.core.vdsbroker.gluster"),
     GetGlusterVolumeProfileInfo("org.ovirt.engine.core.vdsbroker.gluster"),
+    EnableGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
     ;
 
     String packageName;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterHookVDSParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterHookVDSParameters.java
new file mode 100644
index 0000000..ec26c44
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterHookVDSParameters.java
@@ -0,0 +1,48 @@
+package org.ovirt.engine.core.common.vdscommands.gluster;
+
+import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookStage;
+import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase;
+import org.ovirt.engine.core.compat.Guid;
+
+/**
+ * Gluster Hook VDS parameter class with gluster command, hook name, and level 
as parameters. <br>
+ * This will be used directly by Enable and Disable Gluster Hook VDS commands 
<br>
+ */
+public class GlusterHookVDSParameters extends VdsIdVDSCommandParametersBase {
+
+    private String glusterCommand;
+    private String hookName;
+    private GlusterHookStage stage;
+
+    public GlusterHookVDSParameters(Guid serverId, String glusterCommand, 
GlusterHookStage stage, String hookName) {
+        super(serverId);
+        setGlusterCommand(glusterCommand);
+        setHookStage(stage);
+        setHookName(hookName);
+    }
+
+    public String getGlusterCommand() {
+        return glusterCommand;
+    }
+
+    public void setGlusterCommand(String glusterCommand) {
+        this.glusterCommand = glusterCommand;
+    }
+
+    public String getHookName() {
+        return hookName;
+    }
+
+    public void setHookName(String hookName) {
+        this.hookName = hookName;
+    }
+
+    public GlusterHookStage getHookStage() {
+        return stage;
+    }
+
+    public void setHookStage(GlusterHookStage stage) {
+        this.stage = stage;
+    }
+
+}
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
index 6731b9f..6101ba4 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -346,6 +346,10 @@
 GlusterPeerListFailed=Gluster Peer List Failed
 GlusterVolumeStatusFailed=Could not fetch advanced volume details
 GlusterVolumeProfileInfoFailed=Gluster Volume Profile Info Failed
+GlusterHookFailed=Gluster hook operation  failed
+GlusterHookEnableFailed=Failed to enable gluster hook
+GlusterHookAlreadyEnabled=Gluster hook already enabled
+GlusterHookNotFound=Gluster hook not found
 
 CANT_RECONSTRUCT_WHEN_A_DOMAIN_IN_POOL_IS_LOCKED=Can't reconstruct the Master 
Domain when the Data Center contains Domains in Locked state.\nPlease wait 
until the operation for these Domains ends before trying to reconstruct the 
Master Domain again.
 NO_IMPLEMENTATION=Not implemented
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 33d3707..0ae3448 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
@@ -43,6 +43,10 @@
         case GlusterPeerListFailed:
         case GlusterVolumeStatusFailed:
         case GlusterVolumeProfileInfoFailed:
+        case GlusterHookFailed:
+        case GlusterHookEnableFailed:
+        case GlusterHookAlreadyEnabled:
+        case GlusterHookNotFound:
             // Capture error from gluster command and record failure
             getVDSReturnValue().setVdsError(new VDSError(returnStatus, 
getReturnStatus().mMessage));
             getVDSReturnValue().setSucceeded(false);
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/EnableGlusterHookVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/EnableGlusterHookVDSCommand.java
new file mode 100644
index 0000000..054957c
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/EnableGlusterHookVDSCommand.java
@@ -0,0 +1,20 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterHookVDSParameters;
+
+public class EnableGlusterHookVDSCommand<P extends GlusterHookVDSParameters> 
extends AbstractGlusterBrokerCommand<P> {
+
+    public EnableGlusterHookVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void ExecuteVdsBrokerCommand() {
+        status =
+                
getBroker().glusterHookEnable(getParameters().getGlusterCommand(),
+                        getParameters().getHookStage().toString(),
+                        getParameters().getHookName());
+
+        ProceedProxyReturnValue();
+    }
+}
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 d8f0ba3..1a0b0da 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
@@ -249,4 +249,6 @@
     GlusterVolumesListReturnForXmlRpc glusterVolumesList(Guid clusterId);
 
     GlusterVolumeProfileInfoReturnForXmlRpc glusterVolumeProfileInfo(Guid 
clusterId, String volumeName);
+
+    StatusOnlyReturnForXmlRpc glusterHookEnable(String glusterCommand, String 
stage, String hookName);
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
index 2a0aa59..0afe382 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
@@ -236,4 +236,6 @@
     public Map<String, Object> glusterVolumeStatus(String volumeName, String 
brickName, String volumeStatusOption);
 
     public Map<String, Object> glusterVolumeProfileInfo(String volumeName);
+
+    public Map<String, Object> glusterHookEnable(String glusterCommand, String 
level, String hookName);
 }
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 13ea1f6..52fd4bb 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
@@ -1215,4 +1215,17 @@
             throw new XmlRpcRunTimeException(ute);
         }
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterHookEnable(String glusterCommand, 
String stage, String hookName) {
+        try {
+
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterHookEnable(glusterCommand, stage, hookName);
+            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcReturnValue);
+            return wrapper;
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java
index fd78517..7b039f8 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java
@@ -724,4 +724,17 @@
 
     @DefaultStringValue("Mac Address is in use.")
     String MAC_ADDRESS_IS_IN_USE();
+
+    @DefaultStringValue("Gluster hook operation  failed")
+    String GlusterHookFailed();
+
+    @DefaultStringValue("Failed to enable gluster hook.")
+    String GlusterHookEnableFailed();
+
+    @DefaultStringValue("Gluster Hook already enabled.")
+    String GlusterHookAlreadyEnabled();
+
+    @DefaultStringValue("Gluster hook not found")
+    String GlusterHookNotFound();
+
 }


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

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