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

Reply via email to