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

Reply via email to