Shubhendu Tripathi has uploaded a new change for review.

Change subject: gluster: VDS Cmd - Restore gluster volume snapshot
......................................................................

gluster: VDS Cmd - Restore gluster volume snapshot

Introduced a VDS command to restore a gluster volume to the state of a
gluster volume snapshot.

Change-Id: Ic2128c2ea3da40a813e624aa1fb17db13f6969c5
Signed-off-by: Shubhendu Tripathi <shtri...@redhat.com>
---
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/RestoreGlusterVolumeSnapshotVDSCommand.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
11 files changed, 50 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/37301/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 a78beb5..7e25a39 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
@@ -415,6 +415,7 @@
     GlusterSnapshotDeleteFailedException(4703),
     GlusterSnapshotActivateFailedException(4704),
     GlusterSnapshotDeactivateFailedException(4705),
+    GlusterSnapshotRestoreFailedException(4706),
 
     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 2e0bd00..19e8300 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
@@ -170,6 +170,7 @@
     DeleteAllGlusterVolumeSnapshots("org.ovirt.engine.core.vdsbroker.gluster"),
     ActivateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
     DeactivateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
+    RestoreGlusterVolumeSnapshot("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 a314ba5..4e4ed92 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -387,6 +387,7 @@
 GlusterSnapshotDeleteFailedException=Failed to delete gluster volume snapshot
 GlusterSnapshotActivateFailedException=Failed to activate gluster volume 
snapshot
 GlusterSnapshotDeactivateFailedException=Failed to de-activate gluster volume 
snapshot
+GlusterSnapshotRestoreFailedException=Failed to restore the 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 9b2e953..10c606b 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
@@ -83,6 +83,7 @@
         case GlusterSnapshotDeleteFailedException:
         case GlusterSnapshotActivateFailedException:
         case GlusterSnapshotDeactivateFailedException:
+        case GlusterSnapshotRestoreFailedException:
 
             // 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/RestoreGlusterVolumeSnapshotVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RestoreGlusterVolumeSnapshotVDSCommand.java
new file mode 100644
index 0000000..8920832
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/RestoreGlusterVolumeSnapshotVDSCommand.java
@@ -0,0 +1,16 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotActionVDSParameters;
+
+public class RestoreGlusterVolumeSnapshotVDSCommand<P extends 
GlusterVolumeSnapshotActionVDSParameters> extends 
AbstractGlusterBrokerCommand<P> {
+    public RestoreGlusterVolumeSnapshotVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    public void executeVdsBrokerCommand() {
+        String snapshotName = getParameters().getSnapshotName();
+        status = getBroker().glusterSnapshotRestore(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 ec825a0..7b3e058 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
@@ -1634,4 +1634,13 @@
                 new FutureMap(this.client, request);
         return new StatusOnlyReturnForXmlRpc(response);
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterSnapshotRestore(String 
snapshotName) {
+        JsonRpcRequest request =
+                new 
RequestBuilder("GlusterSnapshot.restore").withParameter("snapName", 
snapshotName)
+                    .build();
+        Map<String, Object> response = new FutureMap(this.client, request);
+        return new StatusOnlyReturnForXmlRpc(response);
+    }
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
index 54b87bc..4bf005f 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
@@ -346,4 +346,6 @@
     StatusOnlyReturnForXmlRpc glusterSnapshotActivate(String snapshotName, 
boolean force);
 
     StatusOnlyReturnForXmlRpc glusterSnapshotDeactivate(String snapshotName);
+
+    StatusOnlyReturnForXmlRpc glusterSnapshotRestore(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 19cc75d..f851965 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
@@ -324,4 +324,6 @@
     public Map<String, Object> glusterSnapshotActivate(String snapshotName, 
boolean force);
 
     public Map<String, Object> glusterSnapshotDeactivate(String snapshotName);
+
+    public Map<String, Object> glusterSnapshotRestore(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 1cae0ff..f37d914 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
@@ -1613,4 +1613,15 @@
             throw new XmlRpcRunTimeException(ute);
         }
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterSnapshotRestore(String 
snapshotName) {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterSnapshotRestore(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 50fa523..5ec5a33 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
@@ -855,9 +855,12 @@
     @DefaultStringValue("Failed to delete gluster volume snapshot")
     String GlusterSnapshotDeleteFailedException();
 
-    @DefaultStringValue("Gluster snapshot activate failed")
+    @DefaultStringValue("Failed to activate gluster volume snapshot")
     String GlusterSnapshotActivateFailedException();
 
-    @DefaultStringValue("Gluster snapshot de-activate failed")
+    @DefaultStringValue("Failed to de-activate gluster volume snapshot")
     String GlusterSnapshotDeactivateFailedException();
+
+    @DefaultStringValue("Failed to restore the gluster volume snapshot")
+    String GlusterSnapshotRestoreFailedException();
 }
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 50b6aff6..a6f7b5d 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
@@ -387,3 +387,4 @@
 GlusterSnapshotDeleteFailedException=Failed to delete gluster volume snapshot
 GlusterSnapshotActivateFailedException=Failed to activate gluster volume 
snapshot
 GlusterSnapshotDeactivateFailedException=Failed to de-activate gluster volume 
snapshot
+GlusterSnapshotRestoreFailedException=Failed to restore the gluster volume 
snapshot
\ No newline at end of file


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

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