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
