Alona Kaplan has uploaded a new change for review.

Change subject: core: Add NetworkLinking support to OvfVm.
......................................................................

core: Add NetworkLinking support to OvfVm.

- Support null networkName of a vnic.
- New "Linked" property on a vnic-
  * Should be written to the ovf.
  * Should be read from the ovf if exists (backward compatibility).

Change-Id: If739dd0a2140fd714867c79389fe6efe133529ed
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfProperties.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmWriter.java
3 files changed, 22 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/9802/1

diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfProperties.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfProperties.java
index 5bfe6f5..4516f5e 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfProperties.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfProperties.java
@@ -7,6 +7,7 @@
     final static String VMD_ADDRESS = "rasd:Address";
     final static String VMD_NAME = "rasd:Name";
     final static String VMD_CONNECTION = "rasd:Connection";
+    final static String VMD_LINKED = "rasd:Linked";
     final static String VMD_RESOURCE_TYPE = "rasd:ResourceType";
     final static String VMD_SUB_RESOURCE_TYPE = "rasd:ResourceSubType";
     final static String VMD_VIRTUAL_QUANTITY = "rasd:VirtualQuantity";
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
index a244006..5a2cbc0 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
@@ -424,7 +424,19 @@
         iface.setName(node.SelectSingleNode(OvfProperties.VMD_NAME, 
_xmlNS).InnerText);
         iface.setMacAddress((node.SelectSingleNode("rasd:MACAddress", _xmlNS) 
!= null) ? node.SelectSingleNode(
                 "rasd:MACAddress", _xmlNS).InnerText : "");
-        
iface.setNetworkName(node.SelectSingleNode(OvfProperties.VMD_CONNECTION, 
_xmlNS).InnerText);
+        String networkName = 
node.SelectSingleNode(OvfProperties.VMD_CONNECTION, _xmlNS).InnerText;
+        if (StringUtils.isNotEmpty(networkName)) {
+            iface.setNetworkName(networkName);
+        } else {
+            iface.setNetworkName(null);
+        }
+
+        XmlNode linkedNode = node.SelectSingleNode(OvfProperties.VMD_LINKED, 
_xmlNS);
+        if (linkedNode != null) {
+            iface.setLinked(Boolean.valueOf(linkedNode.InnerText));
+        } else {
+            iface.setLinked(true);
+        }
 
         String resourceSubType = node.SelectSingleNode("rasd:ResourceSubType", 
_xmlNS).InnerText;
         if (StringUtils.isNotEmpty(resourceSubType)) {
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmWriter.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmWriter.java
index 5e4922c..aca284d 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmWriter.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmWriter.java
@@ -243,7 +243,8 @@
         for (VmNetworkInterface iface : _vm.getInterfaces()) {
             _writer.WriteStartElement("Item");
             _writer.WriteStartElement(RASD_URI, "Caption");
-            _writer.WriteRaw("Ethernet adapter on " + iface.getNetworkName());
+            String networkName = iface.getNetworkName() != null ? 
iface.getNetworkName() : "[No Network]";
+            _writer.WriteRaw("Ethernet adapter on " + networkName);
             _writer.WriteEndElement();
             _writer.WriteStartElement(RASD_URI, "InstanceId");
             _writer.WriteRaw(iface.getId().toString());
@@ -257,7 +258,12 @@
             }
             _writer.WriteEndElement();
             _writer.WriteStartElement(RASD_URI, "Connection");
-            _writer.WriteRaw(iface.getNetworkName());
+            if (iface.getNetworkName() != null) {
+                _writer.WriteRaw(iface.getNetworkName());
+            }
+            _writer.WriteEndElement();
+            _writer.WriteStartElement(RASD_URI, "Linked");
+            _writer.WriteRaw(String.valueOf(iface.isLinked()));
             _writer.WriteEndElement();
             _writer.WriteStartElement(RASD_URI, "Name");
             _writer.WriteRaw(iface.getName());


--
To view, visit http://gerrit.ovirt.org/9802
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If739dd0a2140fd714867c79389fe6efe133529ed
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alona Kaplan <alkap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to