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