Liron Ar has uploaded a new change for review. Change subject: core: introducing exportImage vds command ......................................................................
core: introducing exportImage vds command Change-Id: Ia9b35852d14dd591f0db3a9eb44323074c904b2a Signed-off-by: Liron Aravot <lara...@redhat.com> --- A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/ExportImageVDSCommandParameters.java A backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/ExportImageVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IIrsServer.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerConnector.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerWrapper.java 5 files changed, 75 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/15307/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/ExportImageVDSCommandParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/ExportImageVDSCommandParameters.java new file mode 100644 index 0000000..b205901 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/ExportImageVDSCommandParameters.java @@ -0,0 +1,24 @@ +package org.ovirt.engine.core.common.vdscommands; + +import org.ovirt.engine.core.compat.Guid; + +public class ExportImageVDSCommandParameters extends AllStorageAndImageIdVDSCommandParametersBase { + private String exportLocation; + + public ExportImageVDSCommandParameters(Guid storagePoolId, + Guid storageDomainId, + Guid imageGroupId, + Guid imageId, + String exportLocation) { + super(storagePoolId, storageDomainId, imageGroupId, imageId); + this.exportLocation = exportLocation; + } + + public String getExportLocation() { + return exportLocation; + } + + public void setExportLocation(String exportLocation) { + this.exportLocation = exportLocation; + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/ExportImageVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/ExportImageVDSCommand.java new file mode 100644 index 0000000..562228a --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/ExportImageVDSCommand.java @@ -0,0 +1,41 @@ +package org.ovirt.engine.core.vdsbroker.irsbroker; + +import org.ovirt.engine.core.common.vdscommands.ExportImageVDSCommandParameters; +import org.ovirt.engine.core.utils.log.Log; +import org.ovirt.engine.core.utils.log.LogFactory; + + +// Currently implemented as irs command because we there's no way +// to monitor hsm tasks, this should be executed from hsm/vds command +// as it's becomes possible. +public class ExportImageVDSCommand<P extends ExportImageVDSCommandParameters> extends IrsCreateCommand<P> { + + private static Log log = LogFactory.getLog(ExportImageVDSCommand.class); + + public ExportImageVDSCommand(P parameters) { + super(parameters); + } + + @Override + protected void ExecuteIrsBrokerCommand() { + log.info("-- ExportImageVDSCommand::ExecuteIrsBrokerCommand: calling 'exportImage' "); + log.infoFormat("-- exportImage parameters:" + "\r\n" + + " srcSpUUID={0}" + "\r\n" + + " srcSdUUID={1}" + "\r\n" + + " srcImageGUID={2}" + "\r\n" + + " srcVolUUID={3}" + "\r\n" + + " imageExportLocation={4}", + getParameters().getStoragePoolId().toString(), + getParameters().getStorageDomainId().toString(), + getParameters().getImageGroupId().toString(), + getParameters().getImageId().toString(), + getParameters().getExportLocation()); + + uuidReturn = + getIrsProxy().exportImage(getParameters().getStoragePoolId().toString(), + getParameters().getStorageDomainId().toString(), + getParameters().getImageGroupId().toString(), + getParameters().getImageId().toString(), + getParameters().getExportLocation()); + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IIrsServer.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IIrsServer.java index f88c8e1..014237b 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IIrsServer.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IIrsServer.java @@ -17,6 +17,8 @@ OneUuidReturnForXmlRpc importImage(String spUUID, String sdUUID, String dstImgGUID, String dstVolUUID, String importLocation); + OneUuidReturnForXmlRpc exportImage(String spUUID, String sdUUID, String srcImgGUID, String srcVolUUID, String imageExportLocation); + OneUuidReturnForXmlRpc mergeSnapshots(String sdUUID, String spUUID, String vmGUID, String imgGUID, String ancestorUUID, String successorUUID, String postZero); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerConnector.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerConnector.java index f404f86..5e8c438 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerConnector.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerConnector.java @@ -18,6 +18,8 @@ public Map<String, Object> importImage(String spUUID, String sdUUID, String dstImgGUID, String dstVolUUID, String importLocation); + public Map<String, Object> exportImage(String spUUID, String sdUUID, String srcImgGUID, String srcVolUUID, String imageExportLocation); + public Map<String, Object> mergeSnapshots(String sdUUID, String spUUID, String vmGUID, String imgGUID, String ancestorUUID, String successorUUID); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerWrapper.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerWrapper.java index d3d0874..1c483f0 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerWrapper.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsServerWrapper.java @@ -46,6 +46,12 @@ } @Override + public OneUuidReturnForXmlRpc exportImage(String spUUID, String sdUUID, String srcImgGUID, String srcVolUUID, String imageExportLocation) { + Map<String, Object> xmlRpcReturnValue = irsServer.exportImage(spUUID, sdUUID, srcImgGUID, srcVolUUID, imageExportLocation); + return new OneUuidReturnForXmlRpc(xmlRpcReturnValue); + } + + @Override public OneUuidReturnForXmlRpc mergeSnapshots(String sdUUID, String spUUID, String vmGUID, String imgGUID, String ancestorUUID, String successorUUID, String postZero) { Map<String, Object> xmlRpcReturnValue = irsServer.mergeSnapshots(sdUUID, spUUID, vmGUID, imgGUID, ancestorUUID, -- To view, visit http://gerrit.ovirt.org/15307 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia9b35852d14dd591f0db3a9eb44323074c904b2a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <lara...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches