Frank Kobzik has uploaded a new change for review. Change subject: core: fix graphics info update for legacy VDSM ......................................................................
core: fix graphics info update for legacy VDSM This patch fixes an error that's reproducible with current engine and legacy (3.4 and below) VDSM. The problem was caused in parsing graphics info from legacy vdsm displayType values. Fixed by using correct legacy values for displayType. Change-Id: I48cd5f76ed870530208fcd0fc69c3d1a52b7249b Signed-off-by: Frantisek Kobzik <fkob...@redhat.com> --- M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java 1 file changed, 18 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/36605/1 diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java index e3a82f0..a124600 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java @@ -23,7 +23,6 @@ import org.ovirt.engine.core.common.businessentities.AutoNumaBalanceStatus; import org.ovirt.engine.core.common.businessentities.CpuStatistics; import org.ovirt.engine.core.common.businessentities.DiskImageDynamic; -import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.Entities; import org.ovirt.engine.core.common.businessentities.GraphicsInfo; import org.ovirt.engine.core.common.businessentities.GraphicsType; @@ -347,18 +346,12 @@ * @param xmlRpcStruct - data from VDSM */ private static void updateGraphicsInfoFromConf(VmDynamic vm, Map<String, Object> xmlRpcStruct) { - DisplayType displayType = parseDisplayType(xmlRpcStruct); - - if (displayType == null) { - log.warn("Can't set display type from XML."); + GraphicsType vmGraphicsType = parseGraphicsType(xmlRpcStruct); + if (vmGraphicsType == null) { + log.warn("Can't set graphics data from XML."); return; } - vm.setDisplayType(displayType); - - GraphicsType vmGraphicsType = (displayType == DisplayType.qxl) - ? GraphicsType.SPICE - : GraphicsType.VNC; GraphicsInfo graphicsInfo = vm.getGraphicsInfos().get(vmGraphicsType); if (graphicsInfo != null) { @@ -392,19 +385,29 @@ } /** - * Retrieves display type from xml. + * Retrieves graphics type from xml. * @param xmlRpcStruct * @return - * - display type derived from xml on success + * - graphics type derived from xml on success * - null on error */ - private static DisplayType parseDisplayType(Map<String, Object> xmlRpcStruct) { + private static GraphicsType parseGraphicsType(Map<String, Object> xmlRpcStruct) { + GraphicsType result = null; + try { String displayTypeStr = xmlRpcStruct.get(VdsProperties.displayType).toString(); - return DisplayType.valueOf(displayTypeStr); + switch (displayTypeStr) { + case VdsProperties.VNC: + result = GraphicsType.VNC; + break; + case VdsProperties.QXL: + result = GraphicsType.SPICE; + break; + } } catch (Exception e) { - return null; } + + return result; } private static Integer parseIntegerOrNull(String s) { -- To view, visit http://gerrit.ovirt.org/36605 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I48cd5f76ed870530208fcd0fc69c3d1a52b7249b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Frank Kobzik <fkob...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches