Shubhendu Tripathi has uploaded a new change for review.

Change subject: gluster: WIP-VDS Cmd -Gluster volume snapshot maintenance
......................................................................

gluster: WIP-VDS Cmd -Gluster volume snapshot maintenance

Introduced the VDS commands for the maintenance of gluster volume
snaphosts.

Change-Id: Ib610f49c3b6c5aa108ce6fef0291cd9693429197
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/GlusterVolumeSnapshotConfigParameters.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotParameters.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/AbstractGlusterVolumeSnapshotVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AddGlusterVolumeSnapshotVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterVolumeSnapshotVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RestoreGlusterVolumeSnapshotVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/UpdateGlusterVolumeSnapshotConfigVDSCommand.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
16 files changed, 270 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/12/23212/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 8dc6d51..c588d9e 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
@@ -394,6 +394,11 @@
     GlusterHookRemoveFailed(4510),
     GlusterServicesActionFailed(4550),
     GlusterServiceActionNotSupported(4551),
+    GlusterVolumeSnapshotException(5500),
+    GlusterVolumeSnapshotCreateFailedException(5501),
+    GlusterVolumeSnapshotDeleteFailedException(5502),
+    GlusterVolumeSnapshotRestoreFailedException(5503),
+    GlusterVolumeSnapshotSetConfigFailedException(5504),
 
     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 27b7ab0..2569ebe 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
@@ -152,7 +152,11 @@
     GetGlusterVolumeRebalanceStatus("org.ovirt.engine.core.vdsbroker.gluster"),
     GetDiskAlignment("org.ovirt.engine.core.vdsbroker.vdsbroker"),
     GlusterTasksList("org.ovirt.engine.core.vdsbroker.gluster"),
-    
GetGlusterVolumeRemoveBricksStatus("org.ovirt.engine.core.vdsbroker.gluster");
+    
GetGlusterVolumeRemoveBricksStatus("org.ovirt.engine.core.vdsbroker.gluster"),
+    AddGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
+    RestoreGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
+    RemoveGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
+    
UpdateGlusterVolumeSnapshotConfig("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/GlusterVolumeSnapshotConfigParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotConfigParameters.java
new file mode 100644
index 0000000..ed08142
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotConfigParameters.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.common.vdscommands.gluster;
+
+import java.util.Map;
+
+import org.ovirt.engine.core.compat.Guid;
+
+public class GlusterVolumeSnapshotConfigParameters extends 
GlusterVolumeVDSParameters {
+    protected Map<String, String> cfgParams;
+    protected boolean force;
+
+    public GlusterVolumeSnapshotConfigParameters() {
+
+    }
+
+    public GlusterVolumeSnapshotConfigParameters(Guid serverId, String 
volumeName, Map<String, String> cfgParams, boolean force) {
+        super(serverId, volumeName);
+        this.cfgParams = cfgParams;
+        this.force = force;
+    }
+
+    public Map<String, String> getCfgParams() {
+        return this.cfgParams;
+    }
+
+    public void setCfgParams(Map<String, String> params) {
+        this.cfgParams = params;
+    }
+
+    public boolean getForce() {
+        return this.force;
+    }
+
+    public void setForce(boolean force) {
+        this.force = force;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotParameters.java
new file mode 100644
index 0000000..30aa6ef
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotParameters.java
@@ -0,0 +1,34 @@
+package org.ovirt.engine.core.common.vdscommands.gluster;
+
+import org.ovirt.engine.core.compat.Guid;
+
+public class GlusterVolumeSnapshotParameters extends 
GlusterVolumeVDSParameters {
+    protected String snapshotName;
+    protected String description;
+
+    public GlusterVolumeSnapshotParameters() {
+
+    }
+
+    public GlusterVolumeSnapshotParameters(Guid serverId, String volumeName, 
String snapshotName, String description) {
+        super(serverId, volumeName);
+        this.snapshotName = snapshotName;
+        this.description = description;
+    }
+
+    public String getSnapshotName() {
+        return this.snapshotName;
+    }
+
+    public void setSnapshotName(String snapshotName) {
+        this.snapshotName = snapshotName;
+    }
+
+    public String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+}
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 1ecddb3..8ca3330 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -368,6 +368,11 @@
 GlusterServiceActionNotSupported=Gluster service action not supported
 GlusterVolumeStatusAllFailedException=Failed to get gluster tasks list
 GlusterVolumeRebalanceStatusFailedException=Failed to get gluster volume 
rebalance status
+GlusterVolumeSnapshotException=Gluster Volume Snapshot Exception
+GlusterVolumeSnapshotCreateFailedException=Gluster volume snapshot create 
failed
+GlusterVolumeSnapshotDeleteFailedException=Gluster volume snapshot delete 
failed
+GlusterVolumeSnapshotRestoreFailedException=Gluster volume snapshot restore 
failed
+GlusterVolumeSnapshotSetConfigFailedException=Gluster volume snapshot set 
config 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 52ab7d9..a50da28 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
@@ -66,6 +66,12 @@
         case GlusterVolumeRemoveBricksStopFailed:
         case GlusterVolumeRemoveBrickStatusFailed:
         case GlusterVolumeRemoveBricksCommitFailed:
+        case GlusterVolumeSnapshotException:
+        case GlusterVolumeSnapshotCreateFailedException:
+        case GlusterVolumeSnapshotDeleteFailedException:
+        case GlusterVolumeSnapshotRestoreFailedException:
+        case GlusterVolumeSnapshotSetConfigFailedException:
+
             // 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/AbstractGlusterVolumeSnapshotVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterVolumeSnapshotVDSCommand.java
new file mode 100644
index 0000000..08e4bb5
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterVolumeSnapshotVDSCommand.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotParameters;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusOnlyReturnForXmlRpc;
+
+public abstract class AbstractGlusterVolumeSnapshotVDSCommand<P extends 
GlusterVolumeSnapshotParameters> extends AbstractGlusterBrokerCommand<P> {
+    protected StatusOnlyReturnForXmlRpc result;
+
+    public AbstractGlusterVolumeSnapshotVDSCommand(P params) {
+        super(params);
+    }
+
+    @Override
+    protected StatusForXmlRpc getReturnStatus() {
+        return result.mStatus;
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AddGlusterVolumeSnapshotVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AddGlusterVolumeSnapshotVDSCommand.java
new file mode 100644
index 0000000..04ace61
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AddGlusterVolumeSnapshotVDSCommand.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotParameters;
+
+public class AddGlusterVolumeSnapshotVDSCommand<P extends 
GlusterVolumeSnapshotParameters> extends 
AbstractGlusterVolumeSnapshotVDSCommand<P>{
+    public AddGlusterVolumeSnapshotVDSCommand(P params) {
+        super(params);
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        String volumeName = getParameters().getVolumeName();
+        String snapshotName = getParameters().getSnapshotName();
+        String description = getParameters().getDescription() == null ? "" : 
getParameters().getDescription();
+        result = getBroker().glusterVolumeSnapshotCreate(volumeName, 
snapshotName, description);
+        proceedProxyReturnValue();
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterVolumeSnapshotVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterVolumeSnapshotVDSCommand.java
new file mode 100644
index 0000000..cbc40f8
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RemoveGlusterVolumeSnapshotVDSCommand.java
@@ -0,0 +1,17 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotParameters;
+
+public class RemoveGlusterVolumeSnapshotVDSCommand<P extends 
GlusterVolumeSnapshotParameters> extends 
AbstractGlusterVolumeSnapshotVDSCommand<P> {
+    public RemoveGlusterVolumeSnapshotVDSCommand(P params) {
+        super(params);
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        String volumeName = getParameters().getVolumeName();
+        String snapshotName = getParameters().getSnapshotName();
+        result = getBroker().glusterVolumeSnapshotDelete(volumeName, 
snapshotName);
+        proceedProxyReturnValue();
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RestoreGlusterVolumeSnapshotVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RestoreGlusterVolumeSnapshotVDSCommand.java
new file mode 100644
index 0000000..fd6d6cb
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RestoreGlusterVolumeSnapshotVDSCommand.java
@@ -0,0 +1,17 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotParameters;
+
+public class RestoreGlusterVolumeSnapshotVDSCommand<P extends 
GlusterVolumeSnapshotParameters> extends 
AbstractGlusterVolumeSnapshotVDSCommand<P> {
+    public RestoreGlusterVolumeSnapshotVDSCommand(P params) {
+        super(params);
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        String volumeName = getParameters().getVolumeName();
+        String snapshotName = getParameters().getSnapshotName();
+        result = getBroker().glusterVolumeSnapshotRestore(volumeName, 
snapshotName);
+        proceedProxyReturnValue();
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/UpdateGlusterVolumeSnapshotConfigVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/UpdateGlusterVolumeSnapshotConfigVDSCommand.java
new file mode 100644
index 0000000..5dde39e
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/UpdateGlusterVolumeSnapshotConfigVDSCommand.java
@@ -0,0 +1,29 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import java.util.Map;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotConfigParameters;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusOnlyReturnForXmlRpc;
+
+public class UpdateGlusterVolumeSnapshotConfigVDSCommand<P extends 
GlusterVolumeSnapshotConfigParameters> extends AbstractGlusterBrokerCommand<P> {
+    StatusOnlyReturnForXmlRpc result;
+
+    public UpdateGlusterVolumeSnapshotConfigVDSCommand(P params) {
+        super(params);
+    }
+
+    @Override
+    protected StatusForXmlRpc getReturnStatus() {
+        return result.mStatus;
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        String volumeName = getParameters().getVolumeName();
+        Map<String, String> cfgParams = getParameters().getCfgParams();
+        boolean force = getParameters().getForce();
+        result = getBroker().glusterVolumeSnapshotSetConfig(volumeName, 
cfgParams, force);
+        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 8fa530d..eda6b88 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
@@ -295,4 +295,12 @@
     GlusterVolumeTaskReturnForXmlRpc glusterVolumeRebalanceStatus(String 
volumeName);
 
     GlusterVolumeTaskReturnForXmlRpc glusterVolumeRemoveBrickStatus(String 
volumeName, String[] bricksList);
+
+    StatusOnlyReturnForXmlRpc glusterVolumeSnapshotCreate(String volumeName, 
String snapshotName, String description);
+
+    StatusOnlyReturnForXmlRpc glusterVolumeSnapshotRestore(String volumeName, 
String snapshotName);
+
+    StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String volumeName, 
String snapshotName);
+
+    StatusOnlyReturnForXmlRpc glusterVolumeSnapshotSetConfig(String 
volumeName, Map<String, String> params, boolean force);
 }
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 0cd2d0f..7d515dc 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
@@ -279,4 +279,12 @@
     public Map<String, Object> glusterVolumeRebalanceStatus(String volumeName);
 
     public Map<String, Object> glusterVolumeRemoveBrickStatus(String 
volumeName, String[] bricksList);
+
+    public Map<String, Object> glusterVolumeSnapshotCreate(String volumeName, 
String snapshotName, String description);
+
+    public Map<String, Object> glusterVolumeSnapshotRestore(String volumeName, 
String snapshotName);
+
+    public Map<String, Object> glusterVolumeSnapshotDelete(String volumeName, 
String snapshotName);
+
+    public Map<String, Object> glusterVolumeSnapshotSetConfig(String 
volumeName, Map<String, String> params, boolean force);
 }
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 bc4ad53..71c8038 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
@@ -1376,4 +1376,48 @@
         StoragePoolInfoReturnForXmlRpc wrapper = new 
StoragePoolInfoReturnForXmlRpc(xmlRpcReturnValue);
         return wrapper;
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotCreate(String 
volumeName, String snapshotName, String description) {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterVolumeSnapshotCreate(volumeName, snapshotName, description);
+            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcReturnValue);
+            return wrapper;
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotRestore(String 
volumeName, String snapshotName) {
+        try {
+            Map<String, Object> xmlRpcResturnValue = 
vdsServer.glusterVolumeSnapshotRestore(volumeName, snapshotName);
+            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcResturnValue);
+            return wrapper;
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String 
volumeName, String snapshotName) {
+        try {
+            Map<String, Object> xmlRpcResturnValue = 
vdsServer.glusterVolumeSnapshotDelete(volumeName, snapshotName);
+            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcResturnValue);
+            return wrapper;
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotSetConfig(String 
volumeName, Map<String, String> params, boolean force) {
+        try {
+            Map<String, Object> xmlRpcResturnValue = 
vdsServer.glusterVolumeSnapshotSetConfig(volumeName, params, force);
+            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcResturnValue);
+            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 cf8cffd..1898520 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
@@ -796,4 +796,19 @@
 
     @DefaultStringValue("Failed to get status of gluster volume remove bricks")
     String GlusterVolumeRemoveBrickStatusFailed();
+
+    @DefaultStringValue("Gluster Volume Snapshot Exception")
+    String GlusterVolumeSnapshotException();
+
+    @DefaultStringValue("Gluster volume snapshot create failed")
+    String GlusterVolumeSnapshotCreateFailedException();
+
+    @DefaultStringValue("Gluster volume snapshot delete failed")
+    String GlusterVolumeSnapshotDeleteFailedException();
+
+    @DefaultStringValue("Gluster volume snapshot restore failed")
+    String GlusterVolumeSnapshotRestoreFailedException();
+
+    @DefaultStringValue("Gluster volume snapshot set config failed")
+    String GlusterVolumeSnapshotSetConfigFailedException();
 }
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 3bcbe16..bad3045 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
@@ -374,3 +374,8 @@
 GlusterHostIsNotPartOfCluster = Host is not part of the cluster
 GlusterVolumeRebalanceStatusFailedException=Failed to get gluster volume 
rebalance status
 GlusterVolumeRemoveBrickStatusFailed=Failed to get status of gluster volume 
remove bricks
+GlusterVolumeSnapshotException=Gluster Volume Snapshot Exception
+GlusterVolumeSnapshotCreateFailedException=Gluster volume snapshot create 
failed
+GlusterVolumeSnapshotDeleteFailedException=Gluster volume snapshot delete 
failed
+GlusterVolumeSnapshotRestoreFailedException=Gluster volume snapshot restore 
failed
+GlusterVolumeSnapshotSetConfigFailedException=Gluster volume snapshot set 
config failed


-- 
To view, visit http://gerrit.ovirt.org/23212
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib610f49c3b6c5aa108ce6fef0291cd9693429197
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shubhendu Tripathi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to