Sahina Bose has uploaded a new change for review.

Change subject: engine: VDS command - gluster hooks list
......................................................................

engine: VDS command - gluster hooks list

Gets the list of gluster hooks on a server.

Change-Id: I46e47dda9717373d15264e0af942ce93d2293cb4
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
M backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterHooksListVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/GlusterHooksListReturnForXmlRpc.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
9 files changed, 106 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/31/13831/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 654c874..9f4d314 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
@@ -371,6 +371,7 @@
     GlusterHookEnableFailed(4501),
     GlusterHookAlreadyEnabled(4503),
     GlusterHookNotFound(4505),
+    GlusterHookListException(4511),
 
     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 c876a11..7f60c97 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
@@ -141,6 +141,7 @@
     GlusterVolumesList("org.ovirt.engine.core.vdsbroker.gluster"),
     GetGlusterVolumeProfileInfo("org.ovirt.engine.core.vdsbroker.gluster"),
     EnableGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
+    GlusterHooksList("org.ovirt.engine.core.vdsbroker.gluster")
     ;
 
     String packageName;
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 6101ba4..070558e 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -350,6 +350,7 @@
 GlusterHookEnableFailed=Failed to enable gluster hook
 GlusterHookAlreadyEnabled=Gluster hook already enabled
 GlusterHookNotFound=Gluster hook not found
+GlusterHookListException=Failed to get gluster hook list
 
 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/GlusterHooksListVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterHooksListVDSCommand.java
new file mode 100644
index 0000000..4629814
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterHooksListVDSCommand.java
@@ -0,0 +1,32 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase;
+import 
org.ovirt.engine.core.vdsbroker.vdsbroker.GlusterHooksListReturnForXmlRpc;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc;
+
+public class GlusterHooksListVDSCommand<P extends 
VdsIdVDSCommandParametersBase> extends AbstractGlusterBrokerCommand<P> {
+
+    private GlusterHooksListReturnForXmlRpc glusterHooks;
+
+    public GlusterHooksListVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void ExecuteVdsBrokerCommand() {
+        glusterHooks = getBroker().glusterHooksList();
+
+        ProceedProxyReturnValue();
+        if (getVDSReturnValue().getSucceeded()) {
+            setReturnValue(glusterHooks.getGlusterHooks());
+        }
+
+
+    }
+
+    @Override
+    protected StatusForXmlRpc getReturnStatus() {
+        return glusterHooks.mStatus;
+    }
+
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/GlusterHooksListReturnForXmlRpc.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/GlusterHooksListReturnForXmlRpc.java
new file mode 100644
index 0000000..613cc0f
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/GlusterHooksListReturnForXmlRpc.java
@@ -0,0 +1,53 @@
+package org.ovirt.engine.core.vdsbroker.vdsbroker;
+
+import java.util.List;
+import java.util.Map;
+
+import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookEntity;
+import org.ovirt.engine.core.vdsbroker.irsbroker.StatusReturnForXmlRpc;
+
+public class GlusterHooksListReturnForXmlRpc extends StatusReturnForXmlRpc {
+
+    private static final String HOOK_STATUS = "status";
+    private static final String CONTENT_TYPE = "type";
+    private static final String CHECKSUM = "md5sum";
+    private static final String LEVEL = "level";
+    private static final String COMMAND = "command";
+    private static final String NAME = "name";
+    private static final String HOOKS_LIST = "hooksList";
+
+    private List<GlusterHookEntity> hooks;
+
+    @SuppressWarnings("unchecked")
+    public GlusterHooksListReturnForXmlRpc(Map<String, Object> innerMap) {
+        super(innerMap);
+
+        if (mStatus.mCode != 0) {
+            return;
+        }
+
+        Object[] hooksArr = (Object[]) innerMap.get(HOOKS_LIST);
+
+        if (hooksArr != null) {
+            for (int i = 0; i < hooksArr.length; i++) {
+                this.hooks.add(getHook((Map<String, Object>) hooksArr[i]));
+            }
+        }
+    }
+
+    private GlusterHookEntity getHook(Map<String, Object> map) {
+        GlusterHookEntity hook = new GlusterHookEntity();
+        hook.setName(map.get(NAME).toString());
+        hook.setGlusterCommand(map.get(COMMAND).toString());
+        hook.setStage(map.get(LEVEL).toString());
+        hook.setChecksum(map.get(CHECKSUM).toString());
+        hook.setContentType(map.get(CONTENT_TYPE).toString());
+        hook.setStatus(map.get(HOOK_STATUS).toString());
+        return hook;
+    }
+
+    public List<GlusterHookEntity> getGlusterHooks() {
+        return hooks;
+    }
+
+}
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 d6968ca..5823654 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 @@
     GlusterVolumeProfileInfoReturnForXmlRpc glusterVolumeProfileInfo(Guid 
clusterId, String volumeName);
 
     StatusOnlyReturnForXmlRpc glusterHookEnable(String glusterCommand, String 
stage, String hookName);
+
+    GlusterHooksListReturnForXmlRpc glusterHooksList();
 }
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 b019cec..8e6e196 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> glusterVolumeProfileInfo(String volumeName);
 
     public Map<String, Object> glusterHookEnable(String glusterCommand, String 
level, String hookName);
+
+    public Map<String, Object> glusterHooksList();
 }
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 4a6f15c..8f365c4 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
@@ -1216,4 +1216,15 @@
         }
     }
 
+    @Override
+    public GlusterHooksListReturnForXmlRpc glusterHooksList() {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterHooksList();
+            GlusterHooksListReturnForXmlRpc wrapper = new 
GlusterHooksListReturnForXmlRpc(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 7b039f8..760fb10 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
@@ -737,4 +737,7 @@
     @DefaultStringValue("Gluster hook not found")
     String GlusterHookNotFound();
 
+    @DefaultStringValue("Failed to get gluster hook list")
+    String GlusterHookListException();
+
 }


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

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