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