[PATCH rhel7-branch 3/5] network: support for adding team devices (#1003591)

Radek Vykydal rvykydal at redhat.com
Wed Nov 6 10:02:17 UTC 2013


Resolves: rhbz#1003591
---
 pyanaconda/ui/gui/spokes/network.glade |  4 +++
 pyanaconda/ui/gui/spokes/network.py    | 46 +++++++++++++++++-----------------
 2 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/network.glade b/pyanaconda/ui/gui/spokes/network.glade
index 25d1c38..1b65d83 100644
--- a/pyanaconda/ui/gui/spokes/network.glade
+++ b/pyanaconda/ui/gui/spokes/network.glade
@@ -118,6 +118,10 @@
         <col id="1" translatable="yes">bond</col>
       </row>
       <row>
+        <col id="0" translatable="yes">Team</col>
+        <col id="1" translatable="yes">team</col>
+      </row>
+      <row>
         <col id="0" translatable="yes">Vlan</col>
         <col id="1" translatable="yes">vlan</col>
       </row>
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py
index 0fa1657..3a1865a 100644
--- a/pyanaconda/ui/gui/spokes/network.py
+++ b/pyanaconda/ui/gui/spokes/network.py
@@ -217,6 +217,7 @@ class NetworkControlBox(object):
     supported_device_types = [
         NetworkManager.DeviceType.ETHERNET,
         NetworkManager.DeviceType.WIFI,
+        NetworkManager.DeviceType.TEAM,
         NetworkManager.DeviceType.BOND,
         NetworkManager.DeviceType.VLAN,
     ]
@@ -482,6 +483,7 @@ class NetworkControlBox(object):
 
         dev_type = device.get_device_type()
         if dev_type in (NetworkManager.DeviceType.ETHERNET,
+                        NetworkManager.DeviceType.TEAM,
                         NetworkManager.DeviceType.BOND,
                         NetworkManager.DeviceType.VLAN):
             if active:
@@ -561,17 +563,10 @@ class NetworkControlBox(object):
     def _dev_icon_name(self, device):
         icon_name = ""
         dev_type = device.get_device_type()
-        if  dev_type == NetworkManager.DeviceType.ETHERNET:
-            if device.get_state() == NetworkManager.DeviceState.UNAVAILABLE:
-                icon_name = "network-wired-disconnected"
-            else:
-                icon_name = "network-wired"
-        elif  dev_type == NetworkManager.DeviceType.BOND:
-            if device.get_state() == NetworkManager.DeviceState.UNAVAILABLE:
-                icon_name = "network-wired-disconnected"
-            else:
-                icon_name = "network-wired"
-        elif  dev_type == NetworkManager.DeviceType.VLAN:
+        if dev_type in [NetworkManager.DeviceType.ETHERNET,
+                        NetworkManager.DeviceType.BOND,
+                        NetworkManager.DeviceType.VLAN,
+                        NetworkManager.DeviceType.TEAM]:
             if device.get_state() == NetworkManager.DeviceState.UNAVAILABLE:
                 icon_name = "network-wired-disconnected"
             else:
@@ -617,6 +612,8 @@ class NetworkControlBox(object):
             title = _("Bond")
         elif dev_type == NetworkManager.DeviceType.VLAN:
             title = _("Vlan")
+        elif dev_type == NetworkManager.DeviceType.TEAM:
+            title = _("Team")
         else:
             title = ""
         return title
@@ -651,14 +648,13 @@ class NetworkControlBox(object):
     def _refresh_device_cfg(self, device):
 
         dev_type = device.get_device_type()
-        if dev_type == NetworkManager.DeviceType.ETHERNET:
+        if dev_type in (NetworkManager.DeviceType.ETHERNET,
+                        NetworkManager.DeviceType.TEAM,
+                        NetworkManager.DeviceType.BOND,
+                        NetworkManager.DeviceType.VLAN):
             dt = "wired"
         elif dev_type == NetworkManager.DeviceType.WIFI:
             dt = "wireless"
-        elif dev_type == NetworkManager.DeviceType.BOND:
-            dt = "wired"
-        elif dev_type == NetworkManager.DeviceType.VLAN:
-            dt = "wired"
 
         ipv4cfg = nm.nm_device_ip_config(device.get_iface(), version=4)
         ipv6cfg = nm.nm_device_ip_config(device.get_iface(), version=6)
@@ -744,7 +740,8 @@ class NetworkControlBox(object):
 
     def _refresh_slaves(self, device):
         dev_type = device.get_device_type()
-        if dev_type == NetworkManager.DeviceType.BOND:
+        if dev_type in [NetworkManager.DeviceType.BOND,
+                        NetworkManager.DeviceType.TEAM]:
             slaves = ",".join(s.get_iface()
                 for s in device.get_slaves())
             self._set_device_info_value("wired", "slaves", slaves)
@@ -767,6 +764,9 @@ class NetworkControlBox(object):
         elif dev_type == NetworkManager.DeviceType.BOND:
             dt = "wired"
             speed = None
+        elif dev_type == NetworkManager.DeviceType.TEAM:
+            dt = "wired"
+            speed = None
         elif dev_type == NetworkManager.DeviceType.VLAN:
             dt = "wired"
             speed = None
@@ -793,7 +793,8 @@ class NetworkControlBox(object):
             self.builder.get_object("label_wired_vlanid").hide()
             self.builder.get_object("heading_wired_parent").hide()
             self.builder.get_object("label_wired_parent").hide()
-        elif dev_type == NetworkManager.DeviceType.BOND:
+        elif dev_type in [NetworkManager.DeviceType.BOND,
+                          NetworkManager.DeviceType.TEAM]:
             notebook.set_current_page(0)
             self.builder.get_object("heading_wired_slaves").show()
             self.builder.get_object("label_wired_slaves").show()
@@ -818,14 +819,13 @@ class NetworkControlBox(object):
 
     def _refresh_header_ui(self, device, state=None):
         dev_type = device.get_device_type()
-        if dev_type == NetworkManager.DeviceType.ETHERNET:
+        if dev_type in (NetworkManager.DeviceType.ETHERNET,
+                        NetworkManager.DeviceType.TEAM,
+                        NetworkManager.DeviceType.BOND,
+                        NetworkManager.DeviceType.VLAN):
             dev_type_str = "wired"
         elif dev_type == NetworkManager.DeviceType.WIFI:
             dev_type_str = "wireless"
-        elif dev_type == NetworkManager.DeviceType.BOND:
-            dev_type_str = "wired"
-        elif dev_type == NetworkManager.DeviceType.VLAN:
-            dev_type_str = "wired"
 
         if dev_type_str == "wired":
             # update icon according to device status
-- 
1.7.11.7



More information about the anaconda-patches mailing list