Shubhendu Tripathi has uploaded a new change for review. Change subject: gluster: VDS Cmd - Gluster volume snapshot activate/de-activate ......................................................................
gluster: VDS Cmd - Gluster volume snapshot activate/de-activate Introduced VDS commands for gluster volume snapshot activate and de-activate actions Change-Id: I0d2241f784c2903b8b2467b835775eee34e776f4 Signed-off-by: Shubhendu Tripathi <[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 A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeActivateSnapshotVDSParameters.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/ActivateGlusterVolumeSnapshotVDSCommand.java A backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeactivateGlusterVolumeSnapshotVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.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 M frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties 13 files changed, 131 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/95/39295/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 aa39811..f29a55c 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 @@ -402,6 +402,8 @@ GlusterSnapshotException(4700), GlusterSnapshotDeleteVolumeFailedException(4702), GlusterSnapshotDeleteFailedException(4703), + GlusterSnapshotActivateFailedException(4704), + GlusterSnapshotDeactivateFailedException(4705), GlusterSnapshotInfoFailedException(4708), 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 686e949..0d101f0 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 @@ -162,6 +162,8 @@ GetGlusterVolumeSnapshotConfigInfo("org.ovirt.engine.core.vdsbroker.gluster"), DeleteGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"), DeleteAllGlusterVolumeSnapshots("org.ovirt.engine.core.vdsbroker.gluster"), + ActivateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"), + DeactivateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"), SetNumberOfCpus("org.ovirt.engine.core.vdsbroker"), UpdateVmPolicy("org.ovirt.engine.core.vdsbroker"), List("org.ovirt.engine.core.vdsbroker.vdsbroker"), // get a list of VMs with status only diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeActivateSnapshotVDSParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeActivateSnapshotVDSParameters.java new file mode 100644 index 0000000..f5e14ce --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeActivateSnapshotVDSParameters.java @@ -0,0 +1,31 @@ +package org.ovirt.engine.core.common.vdscommands.gluster; + +import org.ovirt.engine.core.compat.Guid; + +public class GlusterVolumeActivateSnapshotVDSParameters extends GlusterVolumeSnapshotActionVDSParameters { + protected boolean force; + + public GlusterVolumeActivateSnapshotVDSParameters() { + } + + public GlusterVolumeActivateSnapshotVDSParameters(Guid serverId, + String volumeName, + String snapshotName, + boolean force) { + super(serverId, volumeName, snapshotName); + this.force = force; + } + + public boolean getForce() { + return this.force; + } + + public void setForce(boolean force) { + this.force = force; + } + + @Override + public String toString() { + return String.format("%s, force=%s", super.toString(), getForce()); + } +} 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 f1a15a1..4c233da 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties @@ -376,6 +376,8 @@ GlusterSnapshotInfoFailedException=Gluster snapshot info failed GlusterSnapshotDeleteVolumeFailedException=Failed to delete the snapshots for the gluster volume GlusterSnapshotDeleteFailedException=Failed to delete gluster volume snapshot +GlusterSnapshotActivateFailedException=Failed to activate gluster volume snapshot +GlusterSnapshotDeactivateFailedException=Failed to de-activate gluster volume snapshot 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 aa62f19..1b6e996 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 @@ -74,6 +74,8 @@ case GlusterSnapshotInfoFailedException: case GlusterSnapshotDeleteVolumeFailedException: case GlusterSnapshotDeleteFailedException: + case GlusterSnapshotActivateFailedException: + case GlusterSnapshotDeactivateFailedException: // Capture error from gluster command and record failure getVDSReturnValue().setVdsError(new VDSError(returnStatus, getReturnStatus().mMessage)); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ActivateGlusterVolumeSnapshotVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ActivateGlusterVolumeSnapshotVDSCommand.java new file mode 100644 index 0000000..c5ac645 --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ActivateGlusterVolumeSnapshotVDSCommand.java @@ -0,0 +1,17 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeActivateSnapshotVDSParameters; + +public class ActivateGlusterVolumeSnapshotVDSCommand<P extends GlusterVolumeActivateSnapshotVDSParameters> extends AbstractGlusterBrokerCommand<P> { + public ActivateGlusterVolumeSnapshotVDSCommand(P params) { + super(params); + } + + @Override + protected void executeVdsBrokerCommand() { + String snapshotName = getParameters().getSnapshotName(); + boolean force = getParameters().getForce(); + status = getBroker().glusterSnapshotActivate(snapshotName, force); + proceedProxyReturnValue(); + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeactivateGlusterVolumeSnapshotVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeactivateGlusterVolumeSnapshotVDSCommand.java new file mode 100644 index 0000000..5cb484f --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeactivateGlusterVolumeSnapshotVDSCommand.java @@ -0,0 +1,16 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotActionVDSParameters; + +public class DeactivateGlusterVolumeSnapshotVDSCommand<P extends GlusterVolumeSnapshotActionVDSParameters> extends AbstractGlusterBrokerCommand<P> { + public DeactivateGlusterVolumeSnapshotVDSCommand(P params) { + super(params); + } + + @Override + protected void executeVdsBrokerCommand() { + String snapshotName = getParameters().getSnapshotName(); + status = getBroker().glusterSnapshotDeactivate(snapshotName); + proceedProxyReturnValue(); + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java index 0d37d9b..08119b6 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java @@ -1520,4 +1520,25 @@ Map<String, Object> response = new FutureMap(this.client, request); return new StatusOnlyReturnForXmlRpc(response); } + + @Override + public StatusOnlyReturnForXmlRpc glusterSnapshotActivate(String snapshotName, boolean force) { + JsonRpcRequest request = + new RequestBuilder("GlusterSnapshot.activate").withParameter("snapName", snapshotName) + .withParameter("force", force) + .build(); + Map<String, Object> response = + new FutureMap(this.client, request); + return new StatusOnlyReturnForXmlRpc(response); + } + + @Override + public StatusOnlyReturnForXmlRpc glusterSnapshotDeactivate(String snapshotName) { + JsonRpcRequest request = + new RequestBuilder("GlusterSnapshot.deactivate").withParameter("snapName", snapshotName) + .build(); + Map<String, Object> response = + new FutureMap(this.client, request); + return new StatusOnlyReturnForXmlRpc(response); + } } 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 62d5544..58049c6 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 @@ -321,4 +321,8 @@ StatusOnlyReturnForXmlRpc glusterSnapshotDelete(String snapshotName); StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String volumeName); + + StatusOnlyReturnForXmlRpc glusterSnapshotActivate(String snapshotName, boolean force); + + StatusOnlyReturnForXmlRpc glusterSnapshotDeactivate(String snapshotName); } 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 9638c90..94a71aa 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 @@ -302,4 +302,8 @@ public Map<String, Object> glusterSnapshotDelete(String snapshotName); public Map<String, Object> glusterVolumeSnapshotDelete(String volumeName); + + public Map<String, Object> glusterSnapshotActivate(String snapshotName, boolean force); + + public Map<String, Object> glusterSnapshotDeactivate(String snapshotName); } 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 670b040..f2d061f 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 @@ -1492,4 +1492,26 @@ throw new XmlRpcRunTimeException(ute); } } + + @Override + public StatusOnlyReturnForXmlRpc glusterSnapshotActivate(String snapshotName, boolean force) { + try { + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterSnapshotActivate(snapshotName, force); + StatusOnlyReturnForXmlRpc wrapper = new StatusOnlyReturnForXmlRpc(xmlRpcReturnValue); + return wrapper; + } catch (UndeclaredThrowableException ute) { + throw new XmlRpcRunTimeException(ute); + } + } + + @Override + public StatusOnlyReturnForXmlRpc glusterSnapshotDeactivate(String snapshotName) { + try { + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterSnapshotDeactivate(snapshotName); + 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 602d4f9..97c9964 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 @@ -833,4 +833,10 @@ @DefaultStringValue("Failed to delete gluster volume snapshot") String GlusterSnapshotDeleteFailedException(); + + @DefaultStringValue("Gluster snapshot activate failed") + String GlusterSnapshotActivateFailedException(); + + @DefaultStringValue("Gluster snapshot de-activate failed") + String GlusterSnapshotDeactivateFailedException(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties index ac9e3d2..50b6aff6 100644 --- a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties +++ b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties @@ -385,3 +385,5 @@ GlusterSnapshotInfoFailedException=Gluster snapshot info failed GlusterSnapshotDeleteVolumeFailedException=Failed to delete the snapshots for the gluster volume GlusterSnapshotDeleteFailedException=Failed to delete gluster volume snapshot +GlusterSnapshotActivateFailedException=Failed to activate gluster volume snapshot +GlusterSnapshotDeactivateFailedException=Failed to de-activate gluster volume snapshot -- To view, visit https://gerrit.ovirt.org/39295 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0d2241f784c2903b8b2467b835775eee34e776f4 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5-gluster Gerrit-Owner: Shubhendu Tripathi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
