Sahina Bose has uploaded a new change for review.

Change subject: engine: Add, remove gluster hooks VDS commands
......................................................................

engine: Add, remove gluster hooks VDS commands

VDS commands to add and remove gluster hooks.
When adding gluster hooks, an argument can be passed
whether to enable/disable the hook.

Change-Id: I716c1ca642f37e039ab9ea11c1f6dea1741522c0
Signed-off-by: Sahina Bose <[email protected]>
---
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
M 
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/AddGlusterHookVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterHookVDSCommand.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
11 files changed, 128 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/14738/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 04a7089..3cd4124 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
@@ -375,7 +375,11 @@
     GlusterHookDisableFailed(4503),
     GlusterHookNotFound(4504),
     GlusterHookConflict(4505),
-    GlusterHookUpdateFailed(4507),
+    GlusterHookUpdateFailed(4506),
+    GlusterHookAlreadyExists(4507),
+    GlusterHookChecksumMismatch(4508),
+    GlusterHookAddFailed(4509),
+    GlusterHookRemoveFailed(4510),
 
     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 9ec1600..0fa186b 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,8 @@
     GetGlusterHostUUID("org.ovirt.engine.core.vdsbroker.gluster"),
     GlusterServicesList("org.ovirt.engine.core.vdsbroker.gluster"),
     UpdateGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
+    AddGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
+    RemoveGlusterHook("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
index bedfbfb..ea6e8e9 100644
--- 
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
@@ -15,6 +15,7 @@
     private GlusterHookStage stage;
     private String content;
     private String checksum;
+    private Boolean enabled;
 
     public GlusterHookVDSParameters(Guid serverId, String glusterCommand, 
GlusterHookStage stage, String hookName) {
         super(serverId);
@@ -29,7 +30,8 @@
      * @param glusterCommand - gluster command the hook is intended for
      * @param stage - PRE/POST stage
      * @param hookName - file name
-     * @param content - non-encoded text content
+     * @param content - encoded text content
+     * @param checksum - checksum of content
      */
     public GlusterHookVDSParameters(Guid serverId, String glusterCommand, 
GlusterHookStage stage, String hookName,
             String content, String checksum) {
@@ -39,6 +41,22 @@
         setHookName(hookName);
         setHookContent(content);
         setChecksum(checksum);
+    }
+
+    /**
+     *
+     * @param serverId
+     * @param glusterCommand - gluster command the hook is intended for
+     * @param stage - PRE/POST stage
+     * @param hookName - file name
+     * @param content - encoded text content
+     * @param checksum - checksum of content
+     * @param enabled - if the hook needs to be enabled/not
+     */
+    public GlusterHookVDSParameters(Guid serverId, String glusterCommand, 
GlusterHookStage stage, String hookName,
+            String content, String checksum, Boolean enabled) {
+        this(serverId, glusterCommand, stage, hookName, content, checksum);
+        setEnabled(enabled);
     }
 
     public String getHookContent() {
@@ -81,4 +99,12 @@
         this.checksum = checksum;
     }
 
+    public Boolean getEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(Boolean enabled) {
+        this.enabled = enabled;
+    }
+
 }
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 e3c2f1a..120c14f 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -353,6 +353,10 @@
 GlusterHostUUIDNotFound=Gluster host UUID not found
 GlusterHookConflict=Found conflicting hooks
 GlusterHookUpdateFailed=Failed to update gluster hook
+GlusterHookAlreadyExists=Failed to add hook as hook already exists
+GlusterHookChecksumMismatch=Failed to update hook due to mismatch in checksum
+GlusterHookAddFailed=Failed to add hook
+GlusterHookRemoveFailed=Failed to remove hook
 
 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 0e2a804..1f61df3 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
@@ -52,6 +52,10 @@
         case GlusterHookConflict:
         case GlusterServicesListFailed:
         case GlusterHookUpdateFailed:
+        case GlusterHookAlreadyExists:
+        case GlusterHookChecksumMismatch:
+        case GlusterHookAddFailed:
+        case GlusterHookRemoveFailed:
             // 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/AddGlusterHookVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AddGlusterHookVDSCommand.java
new file mode 100644
index 0000000..8d455bf
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AddGlusterHookVDSCommand.java
@@ -0,0 +1,23 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterHookVDSParameters;
+
+public class AddGlusterHookVDSCommand<P extends GlusterHookVDSParameters> 
extends AbstractGlusterBrokerCommand<P> {
+
+    public AddGlusterHookVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void ExecuteVdsBrokerCommand() {
+         status =
+                getBroker().glusterHookAdd(getParameters().getGlusterCommand(),
+                        getParameters().getHookStage().toString(),
+                        getParameters().getHookName(),
+                        getParameters().getHookContent(),
+                        getParameters().getChecksum(),
+                        getParameters().getEnabled());
+
+        ProceedProxyReturnValue();
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterHookVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterHookVDSCommand.java
new file mode 100644
index 0000000..eac5c66
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterHookVDSCommand.java
@@ -0,0 +1,20 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterHookVDSParameters;
+
+public class RemoveGlusterHookVDSCommand<P extends GlusterHookVDSParameters> 
extends AbstractGlusterBrokerCommand<P> {
+
+    public RemoveGlusterHookVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void ExecuteVdsBrokerCommand() {
+         status =
+                
getBroker().glusterHookRemove(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 616c17d..1a69003 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,7 +249,9 @@
 
     GlusterServicesReturnForXmlRpc glusterServicesList(Guid serverId, String[] 
serviceNames);
 
-    GlusterServicesReturnForXmlRpc glusterServicesList(String[] serviceNames);
-
     StatusOnlyReturnForXmlRpc glusterHookUpdate(String glusterCommand, String 
stage, String hookName, String content, String checksum);
+
+    StatusOnlyReturnForXmlRpc glusterHookAdd(String glusterCommand, String 
stage, String hookName, String content, String checksum, Boolean enabled);
+
+    StatusOnlyReturnForXmlRpc glusterHookRemove(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 0bac988..bb05cd3 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
@@ -238,4 +238,8 @@
     public Map<String, Object> glusterServicesGet(String[] serviceNames);
 
     public Map<String,Object> glusterHookUpdate(String glusterCommand, String 
stage, String hookName, String content, String checksum);
+
+    public Map<String,Object> glusterHookAdd(String glusterCommand, String 
stage, String hookName, String content, String checksum, Boolean enabled);
+
+    public Map<String,Object> glusterHookRemove(String glusterCommand, String 
stage, 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 7e65a04..ac6ae9a 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
@@ -1223,4 +1223,27 @@
             throw new XmlRpcRunTimeException(ute);
         }
     }
+
+      @Override
+    public StatusOnlyReturnForXmlRpc glusterHookAdd(String glusterCommand, 
String stage, String hookName,
+            String content, String checksum, Boolean enabled) {
+          try {
+              Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterHookAdd(glusterCommand, stage, hookName, content, checksum, 
enabled);
+              StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcReturnValue);
+              return wrapper;
+          } catch (UndeclaredThrowableException ute) {
+              throw new XmlRpcRunTimeException(ute);
+          }
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterHookRemove(String glusterCommand, 
String stage, String hookName) {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterHookRemove(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 95d5a48..ef27f2e 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
@@ -748,4 +748,16 @@
 
     @DefaultStringValue("Failed to update gluster hook.")
     String GlusterHookUpdateFailed();
+
+    @DefaultStringValue("Failed to add hook as hook already exists.")
+    String GlusterHookAlreadyExists();
+
+    @DefaultStringValue("Failed to update hook due to mismatch in checksum.")
+    String GlusterHookChecksumMismatch();
+
+    @DefaultStringValue("Failed to add hook")
+    String GlusterHookAddFailed();
+
+    @DefaultStringValue("Failed to remove hook")
+    String GlusterHookRemoveFailed();
 }


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

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

Reply via email to