Shubhendu Tripathi has uploaded a new change for review.

Change subject: gluster: VDS Command - Delete gluster vol snapshot
......................................................................

gluster: VDS Command - Delete gluster vol snapshot

Introduced VDS command for Gluster volume snapshot deletion

Change-Id: I968ba8242ab2a8a84e339b22fdc001c4607ac929
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/GlusterVolumeSnapshotActionVDSParameters.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/DeleteAllGlusterVolumeSnapshotsVDSCommand.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeleteGlusterVolumeSnapshotVDSCommand.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, 125 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/94/39294/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 1a6790c..aa39811 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
@@ -400,6 +400,8 @@
     GlfsInitException(4572),
     GlfsFiniException(4573),
     GlusterSnapshotException(4700),
+    GlusterSnapshotDeleteVolumeFailedException(4702),
+    GlusterSnapshotDeleteFailedException(4703),
     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 b2e62da..686e949 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
@@ -160,6 +160,8 @@
     
GetGlusterVolumeRemoveBricksStatus("org.ovirt.engine.core.vdsbroker.gluster"),
     GetGlusterVolumeSnapshotInfo("org.ovirt.engine.core.vdsbroker.gluster"),
     
GetGlusterVolumeSnapshotConfigInfo("org.ovirt.engine.core.vdsbroker.gluster"),
+    DeleteGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
+    DeleteAllGlusterVolumeSnapshots("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/GlusterVolumeSnapshotActionVDSParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotActionVDSParameters.java
new file mode 100644
index 0000000..3fe4fe4
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotActionVDSParameters.java
@@ -0,0 +1,28 @@
+package org.ovirt.engine.core.common.vdscommands.gluster;
+
+import org.ovirt.engine.core.compat.Guid;
+
+public class GlusterVolumeSnapshotActionVDSParameters extends 
GlusterVolumeVDSParameters {
+    String snapshotName;
+
+    public GlusterVolumeSnapshotActionVDSParameters() {
+    }
+
+    public GlusterVolumeSnapshotActionVDSParameters(Guid serverId, String 
volumeName, String snapshotName) {
+        super(serverId, volumeName);
+        this.snapshotName = snapshotName;
+    }
+
+    public String getSnapshotName() {
+        return this.snapshotName;
+    }
+
+    public void setSnapshotName(String snapshotName) {
+        this.snapshotName = snapshotName;
+    }
+
+    @Override
+    public String toString() {
+        return String.format("%s, snapshotName=%s", super.toString(), 
getSnapshotName());
+    }
+}
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 bc0953c..f1a15a1 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -374,6 +374,8 @@
 GlfsFiniException=Command failed while unmounting gluster volume
 GlusterSnapshotException=Error in executing gluster snapshot command
 GlusterSnapshotInfoFailedException=Gluster snapshot info failed
+GlusterSnapshotDeleteVolumeFailedException=Failed to delete the snapshots for 
the gluster volume
+GlusterSnapshotDeleteFailedException=Failed to delete 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 6578218..aa62f19 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
@@ -72,6 +72,8 @@
         case GlfsFiniException:
         case GlusterSnapshotException:
         case GlusterSnapshotInfoFailedException:
+        case GlusterSnapshotDeleteVolumeFailedException:
+        case GlusterSnapshotDeleteFailedException:
 
             // 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/DeleteAllGlusterVolumeSnapshotsVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeleteAllGlusterVolumeSnapshotsVDSCommand.java
new file mode 100644
index 0000000..acfcb81
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeleteAllGlusterVolumeSnapshotsVDSCommand.java
@@ -0,0 +1,16 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeVDSParameters;
+
+public class DeleteAllGlusterVolumeSnapshotsVDSCommand<P extends 
GlusterVolumeVDSParameters> extends AbstractGlusterBrokerCommand<P> {
+    public DeleteAllGlusterVolumeSnapshotsVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        String volumeName = getParameters().getVolumeName();
+        status = getBroker().glusterVolumeSnapshotDelete(volumeName);
+        proceedProxyReturnValue();
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeleteGlusterVolumeSnapshotVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeleteGlusterVolumeSnapshotVDSCommand.java
new file mode 100644
index 0000000..d712268
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DeleteGlusterVolumeSnapshotVDSCommand.java
@@ -0,0 +1,16 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotActionVDSParameters;
+
+public class DeleteGlusterVolumeSnapshotVDSCommand<P extends 
GlusterVolumeSnapshotActionVDSParameters> extends 
AbstractGlusterBrokerCommand<P> {
+    public DeleteGlusterVolumeSnapshotVDSCommand(P params) {
+        super(params);
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        String snapshotName = getParameters().getSnapshotName();
+        status = getBroker().glusterSnapshotDelete(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 a7806e0..0d37d9b 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
@@ -1501,4 +1501,23 @@
         Map<String, Object> response = new FutureMap(this.client, 
request).withIgnoreResponseKey();
         return new GlusterVolumeSnapshotConfigReturnForXmlRpc(clusterId, 
response);
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterSnapshotDelete(String 
snapshotName) {
+        JsonRpcRequest request =
+                new 
RequestBuilder("GlusterSnapshot.delete").withOptionalParameter("snapName", 
snapshotName)
+                        .build();
+        Map<String, Object> response =
+                new FutureMap(this.client, request);
+        return new StatusOnlyReturnForXmlRpc(response);
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String 
volumeName) {
+        JsonRpcRequest request =
+                new 
RequestBuilder("GlusterVolume.snapshotDelete").withParameter("volumeName", 
volumeName)
+                    .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 b7421a8..62d5544 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
@@ -317,4 +317,8 @@
     GlusterVolumeSnapshotInfoReturnForXmlRpc glusterSnapshotInfo(Guid 
clusterId, String volumeName);
 
     GlusterVolumeSnapshotConfigReturnForXmlRpc 
glusterVolumeSnapshotConfigGet(Guid clusterId, String volumeName);
+
+    StatusOnlyReturnForXmlRpc glusterSnapshotDelete(String snapshotName);
+
+    StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String volumeName);
 }
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 29b661e..9638c90 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
@@ -298,4 +298,8 @@
     public Map<String, Object> glusterSnapshotInfo(String snapshotName, String 
volumeName);
 
     public Map<String, Object> glusterSnapshotConfigGet(String volumeName);
+
+    public Map<String, Object> glusterSnapshotDelete(String snapshotName);
+
+    public Map<String, Object> glusterVolumeSnapshotDelete(String volumeName);
 }
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 21b5035..670b040 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
@@ -1470,4 +1470,26 @@
             throw new XmlRpcRunTimeException(ute);
         }
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterSnapshotDelete(String 
snapshotName) {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterSnapshotDelete(snapshotName);
+            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcReturnValue);
+            return wrapper;
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotDelete(String 
volumeName) {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterVolumeSnapshotDelete(volumeName);
+            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 c2c3be3..602d4f9 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
@@ -827,4 +827,10 @@
 
     @DefaultStringValue("Gluster snapshot info failed")
     String GlusterSnapshotInfoFailedException();
+
+    @DefaultStringValue("Failed to delete the snapshots for the gluster 
volume")
+    String GlusterSnapshotDeleteVolumeFailedException();
+
+    @DefaultStringValue("Failed to delete gluster volume snapshot")
+    String GlusterSnapshotDeleteFailedException();
 }
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 2645761..ac9e3d2 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
@@ -383,3 +383,5 @@
 GlusterVolumeRemoveBrickStatusFailed=Failed to get status of gluster volume 
remove bricks
 GlusterSnapshotException=Error in executing gluster snapshot command
 GlusterSnapshotInfoFailedException=Gluster snapshot info failed
+GlusterSnapshotDeleteVolumeFailedException=Failed to delete the snapshots for 
the gluster volume
+GlusterSnapshotDeleteFailedException=Failed to delete gluster volume snapshot


-- 
To view, visit https://gerrit.ovirt.org/39294
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I968ba8242ab2a8a84e339b22fdc001c4607ac929
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

Reply via email to