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