Shubhendu Tripathi has uploaded a new change for review. Change subject: gluster: Dont append timestamp to volume snapshot name ......................................................................
gluster: Dont append timestamp to volume snapshot name Modified to not append the time stamp to the created gluster volume snapshot name. The same is done from gluster side. Change-Id: I206fb257fedd08a264e7e104af67e68f4b05652b Signed-off-by: Shubhendu Tripathi <shtri...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateGlusterVolumeSnapshotCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSnapshotScheduleJob.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/CreateGlusterVolumeSnapshotVDSCommand.java A backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeSnapshotCreateReturnForXmlRpc.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/VdsServerWrapper.java 7 files changed, 78 insertions(+), 22 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/39086/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateGlusterVolumeSnapshotCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateGlusterVolumeSnapshotCommand.java index e4bb1b2..74df5f5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateGlusterVolumeSnapshotCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateGlusterVolumeSnapshotCommand.java @@ -22,6 +22,7 @@ import org.ovirt.engine.core.common.constants.gluster.GlusterConstants; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.locks.LockingGroup; +import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.common.vdscommands.gluster.CreateGlusterVolumeSnapshotVDSParameters; @@ -103,11 +104,13 @@ return false; } else { // Persist the snapshot details + Pair<Guid, String> createdSnapshotDetail = + (Pair<Guid, String>) snapCreationRetVal.getReturnValue(); GlusterVolumeSnapshotEntity slaveVolumeSnapshot = new GlusterVolumeSnapshotEntity(); slaveVolumeSnapshot.setClusterId(slaveVolume.getClusterId()); slaveVolumeSnapshot.setVolumeId(slaveVolume.getId()); - slaveVolumeSnapshot.setSnapshotId((Guid) snapCreationRetVal.getReturnValue()); - slaveVolumeSnapshot.setSnapshotName(snapshot.getSnapshotName()); + slaveVolumeSnapshot.setSnapshotId(createdSnapshotDetail.getFirst()); + slaveVolumeSnapshot.setSnapshotName(createdSnapshotDetail.getSecond()); slaveVolumeSnapshot.setDescription(snapshot.getDescription()); slaveVolumeSnapshot.setStatus(GlusterSnapshotStatus.DEACTIVATED); slaveVolumeSnapshot.setCreatedAt(new Date()); @@ -150,8 +153,10 @@ if (!retVal.getSucceeded()) { handleVdsError(AuditLogType.GLUSTER_VOLUME_SNAPSHOT_CREATE_FAILED, retVal.getVdsError().getMessage()); } else { + Pair<Guid, String> createdSnapshotDetail = (Pair<Guid, String>) retVal.getReturnValue(); GlusterVolumeSnapshotEntity createdSnapshot = getParameters().getSnapshot(); - createdSnapshot.setSnapshotId((Guid) retVal.getReturnValue()); + createdSnapshot.setSnapshotId(createdSnapshotDetail.getFirst()); + createdSnapshot.setSnapshotName(createdSnapshotDetail.getSecond()); createdSnapshot.setStatus(GlusterSnapshotStatus.DEACTIVATED); createdSnapshot.setCreatedAt(new Date()); getDbFacade().getGlusterVolumeSnapshotDao().save(createdSnapshot); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSnapshotScheduleJob.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSnapshotScheduleJob.java index df55b4b..670a605 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSnapshotScheduleJob.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSnapshotScheduleJob.java @@ -1,9 +1,6 @@ package org.ovirt.engine.core.bll.gluster; import java.io.Serializable; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; import java.util.HashMap; import org.ovirt.engine.core.bll.Backend; @@ -40,12 +37,10 @@ return; } - GlusterVolumeSnapshotEntity snapshot = new GlusterVolumeSnapshotEntity(); + final GlusterVolumeSnapshotEntity snapshot = new GlusterVolumeSnapshotEntity(); snapshot.setClusterId(volume.getClusterId()); snapshot.setVolumeId(volume.getId()); - DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); - final String snapshotName = snapshotNamePrefix + "-snap-" + df.format(new Date()); - snapshot.setSnapshotName(snapshotName); + snapshot.setSnapshotName(snapshotNamePrefix); snapshot.setDescription(description); VdcReturnValueBase returnValue = getBackend().runInternalAction(VdcActionType.CreateGlusterVolumeSnapshot, @@ -60,7 +55,7 @@ AuditLogType.GLUSTER_VOLUME_SNAPSHOT_CREATE_FAILED, new HashMap<String, String>() { { - put(GlusterConstants.VOLUME_SNAPSHOT_NAME, snapshotName); + put(GlusterConstants.VOLUME_SNAPSHOT_NAME, snapshot.getSnapshotName()); put(GlusterConstants.VOLUME_NAME, volume.getName()); } }); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/CreateGlusterVolumeSnapshotVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/CreateGlusterVolumeSnapshotVDSCommand.java index 3a57773..7865974 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/CreateGlusterVolumeSnapshotVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/CreateGlusterVolumeSnapshotVDSCommand.java @@ -1,12 +1,10 @@ package org.ovirt.engine.core.vdsbroker.gluster; import org.ovirt.engine.core.common.vdscommands.gluster.CreateGlusterVolumeSnapshotVDSParameters; -import org.ovirt.engine.core.compat.Guid; -import org.ovirt.engine.core.vdsbroker.irsbroker.OneUuidReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc; public class CreateGlusterVolumeSnapshotVDSCommand<P extends CreateGlusterVolumeSnapshotVDSParameters> extends AbstractGlusterBrokerCommand<P> { - private OneUuidReturnForXmlRpc uuidReturn; + private GlusterVolumeSnapshotCreateReturnForXmlRpc xmlRpcReturnValue; public CreateGlusterVolumeSnapshotVDSCommand(P params) { super(params); @@ -14,7 +12,7 @@ @Override protected StatusForXmlRpc getReturnStatus() { - return uuidReturn.mStatus; + return xmlRpcReturnValue.mStatus; } @Override @@ -23,11 +21,11 @@ String snapshotName = getParameters().getSnapshotName(); String description = getParameters().getDescription() == null ? "" : getParameters().getDescription(); boolean force = getParameters().getForce(); - uuidReturn = getBroker().glusterSnapshotCreate(volumeName, snapshotName, description, force); + xmlRpcReturnValue = getBroker().glusterSnapshotCreate(volumeName, snapshotName, description, force); proceedProxyReturnValue(); if (getVDSReturnValue().getSucceeded()) { - setReturnValue(Guid.createGuidFromStringDefaultEmpty(uuidReturn.mUuid)); + setReturnValue(xmlRpcReturnValue.getSnapshot()); } } } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeSnapshotCreateReturnForXmlRpc.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeSnapshotCreateReturnForXmlRpc.java new file mode 100644 index 0000000..cd48cc7 --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeSnapshotCreateReturnForXmlRpc.java @@ -0,0 +1,43 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import java.util.Map; + +import org.ovirt.engine.core.common.utils.Pair; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.vdsbroker.irsbroker.StatusReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc; + +public class GlusterVolumeSnapshotCreateReturnForXmlRpc extends StatusReturnForXmlRpc { + private static final String STATUS = "status"; + private static final String NAME = "name"; + private static final String UUID = "uuid"; + + private StatusForXmlRpc status; + private Pair<Guid, String> snapshotDetail; + + public Pair<Guid, String> getSnapshot() { + return snapshotDetail; + } + + public GlusterVolumeSnapshotCreateReturnForXmlRpc(Map<String, Object> innerMap) { + super(innerMap); + status = new StatusForXmlRpc((Map<String, Object>) innerMap.get(STATUS)); + snapshotDetail = prepareSnapshtoDetail(innerMap); + } + + private Pair<Guid, String> prepareSnapshtoDetail(Map<String, Object> map) { + Pair<Guid, String> snapshot = new Pair<>(); + snapshot.setFirst(Guid.createGuidFromString((String) map.get(UUID))); + snapshot.setSecond((String) map.get(NAME)); + + return snapshot; + } + + public StatusForXmlRpc getStatus() { + return status; + } + + public void setStatus(StatusForXmlRpc status) { + this.status = status; + } +} 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 beee1c8..f255b71 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 @@ -26,6 +26,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeOptionsInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeProfileInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotConfigReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotCreateReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeStatusReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeTaskReturnForXmlRpc; @@ -1754,7 +1755,10 @@ } @Override - public OneUuidReturnForXmlRpc glusterSnapshotCreate(String volumeName, String snapshotName, String description, boolean force) { + public GlusterVolumeSnapshotCreateReturnForXmlRpc glusterSnapshotCreate(String volumeName, + String snapshotName, + String description, + boolean force) { JsonRpcRequest request = new RequestBuilder("GlusterVolume.snapshotCreate").withParameter("volumeName", volumeName) .withParameter("snapName", snapshotName) @@ -1763,7 +1767,7 @@ .build(); Map<String, Object> response = new FutureMap(this.client, request).withIgnoreResponseKey(); - return new OneUuidReturnForXmlRpc(response); + return new GlusterVolumeSnapshotCreateReturnForXmlRpc(response); } @Override 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 5f4fca2..5a386ee 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 @@ -21,6 +21,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeOptionsInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeProfileInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotConfigReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotCreateReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeStatusReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeTaskReturnForXmlRpc; @@ -379,7 +380,10 @@ StatusOnlyReturnForXmlRpc glusterSnapshotRestore(String snapshotName); - OneUuidReturnForXmlRpc glusterSnapshotCreate(String volumeName, String snapshotName, String description, boolean force); + GlusterVolumeSnapshotCreateReturnForXmlRpc glusterSnapshotCreate(String volumeName, + String snapshotName, + String description, + boolean force); StatusOnlyReturnForXmlRpc glusterVolumeSnapshotConfigSet(String volumeName, String cfgName, String cfgValue); 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 c44010a..335f5ea 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 @@ -22,6 +22,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeOptionsInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeProfileInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotConfigReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotCreateReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeSnapshotInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeStatusReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeTaskReturnForXmlRpc; @@ -1670,9 +1671,15 @@ } @Override - public OneUuidReturnForXmlRpc glusterSnapshotCreate(String volumeName, String snapshotName, String description, boolean force) { + public GlusterVolumeSnapshotCreateReturnForXmlRpc glusterSnapshotCreate(String volumeName, + String snapshotName, + String description, + boolean force) { try { - return new OneUuidReturnForXmlRpc(vdsServer.glusterSnapshotCreate(volumeName, snapshotName, description, force)); + return new GlusterVolumeSnapshotCreateReturnForXmlRpc(vdsServer.glusterSnapshotCreate(volumeName, + snapshotName, + description, + force)); } catch (UndeclaredThrowableException ute) { throw new XmlRpcRunTimeException(ute); } -- To view, visit https://gerrit.ovirt.org/39086 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I206fb257fedd08a264e7e104af67e68f4b05652b 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