Omer Frenkel has uploaded a new change for review. Change subject: core: treat 'special' devices as managed when importing templates ......................................................................
core: treat 'special' devices as managed when importing templates During export, some devices are mapped to "OTHER" resource type in the ovf. this is valid for unmanaged devices and also some managed devices that are treated as "special". When importing VMs, special devices with "OTHER" resource type are imported as manged. this patch add the same treatment for import of templates. Change-Id: I95c1c2f1e2f45a1863c28c5fcaeb6274f2d28b4e Signed-off-by: Omer Frenkel <[email protected]> --- M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/18188/1 diff --git a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java index d2c343e..c60ce6b 100644 --- a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java +++ b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java @@ -7,11 +7,13 @@ import org.apache.commons.lang.StringUtils; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.UsbPolicy; +import org.ovirt.engine.core.common.businessentities.VmDeviceGeneralType; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.network.VmInterfaceType; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.osinfo.OsRepository; import org.ovirt.engine.core.common.utils.SimpleDependecyInjector; +import org.ovirt.engine.core.common.utils.VmDeviceCommonUtils; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.backendcompat.XmlDocument; import org.ovirt.engine.core.compat.backendcompat.XmlNode; @@ -147,7 +149,19 @@ break; // OTHER case 0: - readVmDevice(node, _vmTemplate, Guid.newGuid(), Boolean.FALSE); + if (node.SelectSingleNode(OvfProperties.VMD_TYPE, _xmlNS) != null + && StringUtils.isNotEmpty(node.SelectSingleNode(OvfProperties.VMD_TYPE, _xmlNS).InnerText)) { + VmDeviceGeneralType type = VmDeviceGeneralType.forValue(String.valueOf(node.SelectSingleNode(OvfProperties.VMD_TYPE, _xmlNS).InnerText)); + String device = String.valueOf(node.SelectSingleNode(OvfProperties.VMD_DEVICE, _xmlNS).InnerText); + // special devices are treated as managed devices but still have the OTHER OVF ResourceType + if (VmDeviceCommonUtils.isSpecialDevice(device, type)) { + readVmDevice(node, _vmTemplate, Guid.newGuid(), Boolean.TRUE); + } else { + readVmDevice(node, _vmTemplate, Guid.newGuid(), Boolean.FALSE); + } + } else { + readVmDevice(node, _vmTemplate, Guid.newGuid(), Boolean.FALSE); + } break; } -- To view, visit http://gerrit.ovirt.org/18188 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I95c1c2f1e2f45a1863c28c5fcaeb6274f2d28b4e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Omer Frenkel <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
