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

Reply via email to