Eliraz Levi has uploaded a new change for review.

Change subject: backend: engine resolving host's active nic
......................................................................

backend: engine resolving host's active nic

engine will resolve host's active nic by looking
into vdsGetCapabilities and see which nic is the
one is being used by ovirtmgmt

Change-Id: I64a21595e58358fe9e04ea1de5d3e3115c7bc2c6
Signed-off-by: Eliraz Levi <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
1 file changed, 25 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/95/35895/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 61420d2..0f521cd 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
@@ -1,5 +1,7 @@
 package org.ovirt.engine.core.vdsbroker.vdsbroker;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.nio.file.Paths;
 import java.text.DateFormat;
 import java.text.DecimalFormat;
@@ -559,13 +561,12 @@
     }
 
     private static void UpdatePackagesVersions(VDS vds, Map<String, Object> 
xmlRpcStruct) {
-
         vds.setVersionName(AssignStringValue(xmlRpcStruct, 
VdsProperties.version_name));
         vds.setSoftwareVersion(AssignStringValue(xmlRpcStruct, 
VdsProperties.software_version));
         vds.setBuildName(AssignStringValue(xmlRpcStruct, 
VdsProperties.build_name));
         if (xmlRpcStruct.containsKey(VdsProperties.host_os)) {
-            vds.setHostOs(GetPackageVersionFormated(
-                    (Map<String, Object>) 
xmlRpcStruct.get(VdsProperties.host_os), true));
+            vds.setHostOs(GetPackageVersionFormated((Map<String, Object>) 
xmlRpcStruct.get(VdsProperties.host_os),
+                    true));
         }
         if (xmlRpcStruct.containsKey(VdsProperties.packages)) {
             // packages is an array of xmlRpcStruct (that each is a name, ver,
@@ -1189,7 +1190,7 @@
      *            A nested map contains network interfaces data
      */
     public static void updateNetworkData(VDS vds, Map<String, Object> 
xmlRpcStruct) {
-        vds.setActiveNic(AssignStringValue(xmlRpcStruct, 
VdsProperties.NETWORK_LAST_CLIENT_INTERFACE));
+//        vds.setActiveNic(AssignStringValue(xmlRpcStruct, 
VdsProperties.NETWORK_LAST_CLIENT_INTERFACE));
 
         List<VdsNetworkInterface> oldInterfaces =
                 
DbFacade.getInstance().getInterfaceDao().getAllInterfacesForVds(vds.getId());
@@ -1206,10 +1207,30 @@
         // set bonding options
         setBondingOptions(vds, oldInterfaces);
 
+        resolveVdsActiveNic(vds);
+
         // This information was added in 3.1, so don't use it if it's not 
there.
         if (xmlRpcStruct.containsKey(VdsProperties.netConfigDirty)) {
             vds.setNetConfigDirty(AssignBoolValue(xmlRpcStruct, 
VdsProperties.netConfigDirty));
         }
+    }
+
+    private static void resolveVdsActiveNic(VDS vds) {
+        InetAddress magmtAddr = null;
+        try {
+            magmtAddr = InetAddress.getByName(vds.getHostName());
+        } catch (SecurityException e) {
+        } catch (UnknownHostException e) {
+        }
+
+        String mgmtAdd = magmtAddr.getHostAddress().trim();
+        for (VdsNetworkInterface iface : vds.getInterfaces()) {
+            if (mgmtAdd.equals(iface.getAddress().trim())) {
+                vds.setActiveNic(iface.getName());
+            }
+
+        }
+
     }
 
     private static void addHostNetworksAndUpdateInterfaces(VDS vds,
@@ -1430,9 +1451,7 @@
                 iface.setId(iStats.getId());
                 iface.setName(entry.getKey());
                 iface.setVdsId(vds.getId());
-
                 updateNetworkInterfaceDataFromHost(iface, vds, (Map<String, 
Object>) entry.getValue());
-
                 iStats.setVdsId(vds.getId());
                 vds.getInterfaces().add(iface);
             }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I64a21595e58358fe9e04ea1de5d3e3115c7bc2c6
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eliraz Levi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to