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: Ie6d76dc0801b30a37acb28a81e31a21f32dcb214 Signed-off-by: Shubhendu Tripathi <shtri...@redhat.com> --- A 0001-gluster-VDS-Cmd-Gluster-volume-snapshot-activate-de-.patch 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 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, 377 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/75/34775/1 diff --git a/0001-gluster-VDS-Cmd-Gluster-volume-snapshot-activate-de-.patch b/0001-gluster-VDS-Cmd-Gluster-volume-snapshot-activate-de-.patch new file mode 100644 index 0000000..60466b8 --- /dev/null +++ b/0001-gluster-VDS-Cmd-Gluster-volume-snapshot-activate-de-.patch @@ -0,0 +1,277 @@ +From 338fca08f0b94dd29c023f54d551c936aadc8bad Mon Sep 17 00:00:00 2001 +From: Shubhendu Tripathi <shtri...@redhat.com> +Date: Tue, 4 Nov 2014 14:13:18 +0530 +Subject: [PATCH] gluster: VDS Cmd - Gluster volume snapshot + activate/de-activate + +Introduced VDS commands for gluster volume snapshot activate and +de-activate actions. + +Change-Id: I6a45b23d8e6a3afeb740b1e85d35767c8a535a63 +Signed-off-by: Shubhendu Tripathi <shtri...@redhat.com> +--- + .../engine/core/common/errors/VdcBllErrors.java | 2 ++ + .../core/common/vdscommands/VDSCommandType.java | 2 ++ + ...GlusterVolumeActivateSnapshotVDSParameters.java | 27 ++++++++++++++++++++++ + .../main/resources/bundles/VdsmErrors.properties | 2 ++ + .../gluster/AbstractGlusterBrokerCommand.java | 2 ++ + .../ActivateGlusterVolumeSnapshotVDSCommand.java | 17 ++++++++++++++ + .../DeactivateGlusterVolumeSnapshotVDSCommand.java | 16 +++++++++++++ + .../core/vdsbroker/jsonrpc/JsonRpcVdsServer.java | 23 +++++++++++++++++- + .../core/vdsbroker/vdsbroker/IVdsServer.java | 4 ++++ + .../vdsbroker/vdsbroker/VdsServerConnector.java | 4 ++++ + .../core/vdsbroker/vdsbroker/VdsServerWrapper.java | 22 ++++++++++++++++++ + .../org/ovirt/engine/ui/frontend/VdsmErrors.java | 6 +++++ + .../ovirt/engine/ui/frontend/VdsmErrors.properties | 2 ++ + 13 files changed, 128 insertions(+), 1 deletion(-) + create mode 100644 backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeActivateSnapshotVDSParameters.java + create mode 100644 backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ActivateGlusterVolumeSnapshotVDSCommand.java + create mode 100644 backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeactivateGlusterVolumeSnapshotVDSCommand.java + +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 4b85118..cabd067 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 +@@ -408,6 +408,8 @@ public enum VdcBllErrors { + GlusterSnapshotException(4600), + GlusterSnapshotCreateFailedException(4601), + GlusterSnapshotDeleteFailedException(4602), ++ GlusterSnapshotActivateFailedException(4603), ++ GlusterSnapshotDeactivateFailedException(4604), + + 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 1dacdee..54a3c21 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 +@@ -163,6 +163,8 @@ public enum VDSCommandType { + DeleteGlusterVolumeGeoRepSession("org.ovirt.engine.core.vdsbroker.gluster"), + CreateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"), + DeleteGlusterVolumeSnapshot("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..3525509 +--- /dev/null ++++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeActivateSnapshotVDSParameters.java +@@ -0,0 +1,27 @@ ++package org.ovirt.engine.core.common.vdscommands.gluster; ++ ++import org.ovirt.engine.core.compat.Guid; ++ ++public class GlusterVolumeActivateSnapshotVDSParameters extends GlusterVolumeSnapshotVDSParameters { ++ 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; ++ } ++} +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 37c85e4..eee12a0 100644 +--- a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties ++++ b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties +@@ -381,6 +381,8 @@ GlusterVolumeGeoRepStopFailedException=Failed to stop geo-replication session + GlusterSnapshotException=Gluster Snapshot Exception + GlusterSnapshotCreateFailedException=Gluster snapshot create failed + GlusterSnapshotDeleteFailedException=Gluster snapshot delete failed ++GlusterSnapshotActivateFailedException=Gluster snapshot activate failed ++GlusterSnapshotDeactivateFailedException=Gluster snapshot de-activate failed + + 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 4874e55..5318bb8 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 +@@ -77,6 +77,8 @@ public abstract class AbstractGlusterBrokerCommand<P extends VdsIdVDSCommandPara + case GlusterSnapshotException: + case GlusterSnapshotCreateFailedException: + 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..599b622 +--- /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 AbstractGlusterVolumeSnapshotVDSCommand<P> { ++ public ActivateGlusterVolumeSnapshotVDSCommand(P params) { ++ super(params); ++ } ++ ++ @Override ++ protected void executeVdsBrokerCommand() { ++ String snapshotName = getParameters().getSnapshotName(); ++ boolean force = getParameters().getForce(); ++ result = getBroker().glusterVolumeSnapshotActivate(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..2a25b4f +--- /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.GlusterVolumeSnapshotVDSParameters; ++ ++public class DeactivateGlusterVolumeSnapshotVDSCommand<P extends GlusterVolumeSnapshotVDSParameters> extends AbstractGlusterVolumeSnapshotVDSCommand<P> { ++ public DeactivateGlusterVolumeSnapshotVDSCommand(P params) { ++ super(params); ++ } ++ ++ @Override ++ protected void executeVdsBrokerCommand() { ++ String snapshotName = getParameters().getSnapshotName(); ++ result = getBroker().glusterVolumeSnapshotDeactivate(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 5257b63..0bf1a1a 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 +@@ -1562,7 +1562,28 @@ public class JsonRpcVdsServer implements IVdsServer { + @Override + public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String snapshotName) { + JsonRpcRequest request = ++ .build(); ++ Map<String, Object> response = ++ new FutureMap(this.client, request); ++ return new StatusOnlyReturnForXmlRpc(response); ++ } ++ ++ @Override ++ public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotActivate(String snapshotName, boolean force) { ++ JsonRpcRequest request = ++ new RequestBuilder("GlusterSnapshot.volumeSnapshotActivate").withOptionalParameter("snapName", snapshotName) ++ .withParameter("force", force) ++ .build(); ++ Map<String, Object> response = ++ new FutureMap(this.client, request); ++ return new StatusOnlyReturnForXmlRpc(response); ++ } ++ ++ @Override ++ public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDeactivate(String snapshotName) { ++ JsonRpcRequest request = ++ new RequestBuilder("GlusterSnapshot.volumeSnapshotDeactivate").withOptionalParameter("snapName", snapshotName) + .build(); + Map<String, Object> response = + new FutureMap(this.client, request); +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 c980c8b..40083da 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 +@@ -331,4 +331,8 @@ public interface IVdsServer { + StatusOnlyReturnForXmlRpc glusterVolumeSnapshotCreate(String volumeName, String snapshotName, String description, boolean force); + + StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String snapshotName); ++ ++ StatusOnlyReturnForXmlRpc glusterVolumeSnapshotActivate(String snapshotName, boolean force); ++ ++ StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDeactivate(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 442a33d..adb4a30 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 +@@ -310,4 +310,8 @@ public interface VdsServerConnector { + public Map<String, Object> glusterVolumeSnapshotCreate(String volumeName, String snapshotName, String description, boolean force); + + public Map<String, Object> glusterVolumeSnapshotDelete(String snapshotName); ++ ++ public Map<String, Object> glusterVolumeSnapshotActivate(String snapshotName, boolean force); ++ ++ public Map<String, Object> glusterVolumeSnapshotDeactivate(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 7cf4b40..2b213af 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 +@@ -1532,4 +1532,26 @@ public class VdsServerWrapper implements IVdsServer { + throw new XmlRpcRunTimeException(ute); + } + } ++ ++ @Override ++ public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotActivate(String snapshotName, boolean force) { ++ try { ++ Map<String, Object> xmlRpcReturnValue = vdsServer.glusterVolumeSnapshotActivate(snapshotName, force); ++ StatusOnlyReturnForXmlRpc wrapper = new StatusOnlyReturnForXmlRpc(xmlRpcReturnValue); ++ return wrapper; ++ } catch (UndeclaredThrowableException ute) { ++ throw new XmlRpcRunTimeException(ute); ++ } ++ } ++ ++ @Override ++ public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDeactivate(String snapshotName) { ++ try { ++ Map<String, Object> xmlRpcReturnValue = vdsServer.glusterVolumeSnapshotDeactivate(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 81faa0f..314dfca 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 +@@ -842,4 +842,10 @@ public interface VdsmErrors extends ConstantsWithLookup { + + @DefaultStringValue("Gluster snapshot delete failed") + 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 9d6d782..c3fec6d 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 +@@ -384,3 +384,5 @@ GlusterVolumeRemoveBrickStatusFailed=Failed to get status of gluster volume remo + GlusterSnapshotException=Gluster Snapshot Exception + GlusterSnapshotCreateFailedException=Gluster snapshot create failed + GlusterSnapshotDeleteFailedException=Gluster snapshot delete failed ++GlusterSnapshotActivateFailedException=Gluster snapshot activate failed ++GlusterSnapshotDeactivateFailedException=Gluster snapshot de-activate failed +-- +1.8.1.4 + 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 4b85118..cabd067 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 @@ -408,6 +408,8 @@ GlusterSnapshotException(4600), GlusterSnapshotCreateFailedException(4601), GlusterSnapshotDeleteFailedException(4602), + GlusterSnapshotActivateFailedException(4603), + GlusterSnapshotDeactivateFailedException(4604), 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 1dacdee..54a3c21 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 @@ -163,6 +163,8 @@ DeleteGlusterVolumeGeoRepSession("org.ovirt.engine.core.vdsbroker.gluster"), CreateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"), DeleteGlusterVolumeSnapshot("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/dal/src/main/resources/bundles/VdsmErrors.properties b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties index 37c85e4..eee12a0 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties @@ -381,6 +381,8 @@ GlusterSnapshotException=Gluster Snapshot Exception GlusterSnapshotCreateFailedException=Gluster snapshot create failed GlusterSnapshotDeleteFailedException=Gluster snapshot delete failed +GlusterSnapshotActivateFailedException=Gluster snapshot activate failed +GlusterSnapshotDeactivateFailedException=Gluster snapshot de-activate failed 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 4874e55..5318bb8 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 @@ -77,6 +77,8 @@ case GlusterSnapshotException: case GlusterSnapshotCreateFailedException: 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..7b8cd76 --- /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 AbstractGlusterVolumeSnapshotVDSCommand<P> { + public ActivateGlusterVolumeSnapshotVDSCommand(P params) { + super(params); + } + + @Override + protected void executeVdsBrokerCommand() { + String snapshotName = getParameters().getSnapshotName(); + String force = getParameters().getForce(); + result = getBroker().glusterVolumeSnapshotActivate(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..2a25b4f --- /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.GlusterVolumeSnapshotVDSParameters; + +public class DeactivateGlusterVolumeSnapshotVDSCommand<P extends GlusterVolumeSnapshotVDSParameters> extends AbstractGlusterVolumeSnapshotVDSCommand<P> { + public DeactivateGlusterVolumeSnapshotVDSCommand(P params) { + super(params); + } + + @Override + protected void executeVdsBrokerCommand() { + String snapshotName = getParameters().getSnapshotName(); + result = getBroker().glusterVolumeSnapshotDeactivate(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 5dc1f6b..0bf1a1a 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 @@ -1568,4 +1568,25 @@ new FutureMap(this.client, request); return new StatusOnlyReturnForXmlRpc(response); } + + @Override + public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotActivate(String snapshotName, boolean force) { + JsonRpcRequest request = + new RequestBuilder("GlusterSnapshot.volumeSnapshotActivate").withOptionalParameter("snapName", snapshotName) + .withParameter("force", force) + .build(); + Map<String, Object> response = + new FutureMap(this.client, request); + return new StatusOnlyReturnForXmlRpc(response); + } + + @Override + public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDeactivate(String snapshotName) { + JsonRpcRequest request = + new RequestBuilder("GlusterSnapshot.volumeSnapshotDeactivate").withOptionalParameter("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 c980c8b..40083da 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 @@ -331,4 +331,8 @@ StatusOnlyReturnForXmlRpc glusterVolumeSnapshotCreate(String volumeName, String snapshotName, String description, boolean force); StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String snapshotName); + + StatusOnlyReturnForXmlRpc glusterVolumeSnapshotActivate(String snapshotName, boolean force); + + StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDeactivate(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 442a33d..adb4a30 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 @@ -310,4 +310,8 @@ public Map<String, Object> glusterVolumeSnapshotCreate(String volumeName, String snapshotName, String description, boolean force); public Map<String, Object> glusterVolumeSnapshotDelete(String snapshotName); + + public Map<String, Object> glusterVolumeSnapshotActivate(String snapshotName, boolean force); + + public Map<String, Object> glusterVolumeSnapshotDeactivate(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 7cf4b40..2b213af 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 @@ -1532,4 +1532,26 @@ throw new XmlRpcRunTimeException(ute); } } + + @Override + public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotActivate(String snapshotName, boolean force) { + try { + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterVolumeSnapshotActivate(snapshotName, force); + StatusOnlyReturnForXmlRpc wrapper = new StatusOnlyReturnForXmlRpc(xmlRpcReturnValue); + return wrapper; + } catch (UndeclaredThrowableException ute) { + throw new XmlRpcRunTimeException(ute); + } + } + + @Override + public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDeactivate(String snapshotName) { + try { + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterVolumeSnapshotDeactivate(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 81faa0f..314dfca 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 @@ -842,4 +842,10 @@ @DefaultStringValue("Gluster snapshot delete failed") 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 9d6d782..c3fec6d 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 @@ -384,3 +384,5 @@ GlusterSnapshotException=Gluster Snapshot Exception GlusterSnapshotCreateFailedException=Gluster snapshot create failed GlusterSnapshotDeleteFailedException=Gluster snapshot delete failed +GlusterSnapshotActivateFailedException=Gluster snapshot activate failed +GlusterSnapshotDeactivateFailedException=Gluster snapshot de-activate failed -- To view, visit http://gerrit.ovirt.org/34775 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie6d76dc0801b30a37acb28a81e31a21f32dcb214 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Shubhendu Tripathi <shtri...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches