Arik Hadas has uploaded a new change for review.

Change subject: [WIP] core: libvirt xml
......................................................................

[WIP] core: libvirt xml

Change-Id: I01fe79d3986a1e46e1106ee6fbcf2143ef2773a9
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HibernateVDSCommand.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/HibernateBrokerVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/LibvirtXmlReturnForXmlRpc.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
6 files changed, 37 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/84/39184/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HibernateVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HibernateVDSCommand.java
index af7c960..380d276 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HibernateVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HibernateVDSCommand.java
@@ -16,6 +16,7 @@
         if (retVal.getSucceeded()) {
             vmManager.succededToHibernate();
             getVDSReturnValue().setSucceeded(true);
+            getVDSReturnValue().setReturnValue(retVal.getReturnValue());
         }
         else {
             log.error("Failed to hibernate VM '{}' in VDS = '{}' : error = 
'{}'",
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..4ed946b 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
@@ -43,6 +43,7 @@
 import org.ovirt.engine.core.vdsbroker.vdsbroker.IVdsServer;
 import org.ovirt.engine.core.vdsbroker.vdsbroker.ImageSizeReturnForXmlRpc;
 import org.ovirt.engine.core.vdsbroker.vdsbroker.LUNListReturnForXmlRpc;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.LibvirtXmlReturnForXmlRpc;
 import 
org.ovirt.engine.core.vdsbroker.vdsbroker.OneStorageDomainInfoReturnForXmlRpc;
 import 
org.ovirt.engine.core.vdsbroker.vdsbroker.OneStorageDomainStatsReturnForXmlRpc;
 import org.ovirt.engine.core.vdsbroker.vdsbroker.OneVGReturnForXmlRpc;
@@ -151,13 +152,13 @@
     }
 
     @Override
-    public StatusOnlyReturnForXmlRpc hibernate(String vmId, String 
hiberVolHandle) {
+    public LibvirtXmlReturnForXmlRpc hibernate(String vmId, String 
hiberVolHandle) {
         JsonRpcRequest request =
                 new RequestBuilder("VM.hibernate").withParameter("vmID", vmId)
                         .withParameter("hibernationVolHandle", hiberVolHandle)
                         .build();
         Map<String, Object> response = new FutureMap(this.client, request);
-        return new StatusOnlyReturnForXmlRpc(response);
+        return new LibvirtXmlReturnForXmlRpc(response);
     }
 
     @Override
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/HibernateBrokerVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/HibernateBrokerVDSCommand.java
index d4dc569..320ce5d 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/HibernateBrokerVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/HibernateBrokerVDSCommand.java
@@ -3,14 +3,27 @@
 import org.ovirt.engine.core.common.vdscommands.HibernateVDSCommandParameters;
 
 public class HibernateBrokerVDSCommand<P extends 
HibernateVDSCommandParameters> extends VdsBrokerCommand<P> {
+    private LibvirtXmlReturnForXmlRpc result;
+
     public HibernateBrokerVDSCommand(P parameters) {
         super(parameters);
     }
 
     @Override
     protected void executeVdsBrokerCommand() {
-        status = getBroker().hibernate(getParameters().getVmId().toString(),
+        result = getBroker().hibernate(getParameters().getVmId().toString(),
                 getParameters().getHibernationVolHandle());
         proceedProxyReturnValue();
+        setReturnValue(result.xml);
+    }
+
+    @Override
+    protected StatusForXmlRpc getReturnStatus() {
+        return result.mStatus;
+    }
+
+    @Override
+    protected Object getReturnValueFromBroker() {
+        return result;
     }
 }
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..1978c20 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
@@ -47,7 +47,7 @@
 
     OneVmReturnForXmlRpc pause(String vmId);
 
-    StatusOnlyReturnForXmlRpc hibernate(String vmId, String hiberVolHandle);
+    LibvirtXmlReturnForXmlRpc hibernate(String vmId, String hiberVolHandle);
 
     OneVmReturnForXmlRpc resume(String vmId);
 
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/LibvirtXmlReturnForXmlRpc.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/LibvirtXmlReturnForXmlRpc.java
new file mode 100644
index 0000000..c29dd3d
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/LibvirtXmlReturnForXmlRpc.java
@@ -0,0 +1,16 @@
+package org.ovirt.engine.core.vdsbroker.vdsbroker;
+
+import java.util.Map;
+
+public class LibvirtXmlReturnForXmlRpc {
+    private static final String STATUS = "status";
+    private static final String LIBVIRT_XML = "libvirtXml";
+
+    public StatusForXmlRpc mStatus;
+    public String xml;
+
+    public LibvirtXmlReturnForXmlRpc(Map<String, Object> innerMap) {
+        mStatus = new StatusForXmlRpc((Map<String, Object>) 
innerMap.get(STATUS));
+        xml = (String) innerMap.get(LIBVIRT_XML);
+    }
+}
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..011beda 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
@@ -110,10 +110,10 @@
     }
 
     @Override
-    public StatusOnlyReturnForXmlRpc hibernate(String vmId, String 
hiberVolHandle) {
+    public LibvirtXmlReturnForXmlRpc hibernate(String vmId, String 
hiberVolHandle) {
         try {
             Map<String, Object> xmlRpcReturnValue = vdsServer.hibernate(vmId, 
hiberVolHandle);
-            StatusOnlyReturnForXmlRpc wrapper = new 
StatusOnlyReturnForXmlRpc(xmlRpcReturnValue);
+            LibvirtXmlReturnForXmlRpc wrapper = new 
LibvirtXmlReturnForXmlRpc(xmlRpcReturnValue);
             return wrapper;
         } catch (UndeclaredThrowableException ute) {
             throw new XmlRpcRunTimeException(ute);


-- 
To view, visit https://gerrit.ovirt.org/39184
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I01fe79d3986a1e46e1106ee6fbcf2143ef2773a9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to