[PATCH 08/17] Replace getLinkStatus() using new nm module

Radek Vykydal rvykydal at redhat.com
Fri Feb 8 14:04:24 UTC 2013


---
 pyanaconda/installclasses/fedora.py |  9 +++++++--
 pyanaconda/network.py               | 33 +++++++++++++++------------------
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/pyanaconda/installclasses/fedora.py b/pyanaconda/installclasses/fedora.py
index 57153c9..bb77515 100644
--- a/pyanaconda/installclasses/fedora.py
+++ b/pyanaconda/installclasses/fedora.py
@@ -123,8 +123,13 @@ class InstallClass(BaseInstallClass):
 
         # the default otherwise: bring up the first wired netdev with link
         for devName in nm.nm_devices():
-            if (not network.isWirelessDevice(devName) and
-                network.getLinkStatus(devName)):
+            if network.isWirelessDevice(devName):
+                continue
+            try:
+                link_up = nm.nm_device_carrier(devName)
+            except ValueError as e:
+                continue
+            if link_up:
                 dev = network.NetworkDevice(ROOT_PATH + network.netscriptsDir, devName)
                 dev.loadIfcfgFile()
                 dev.set(('ONBOOT', 'yes'))
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 1d779ba..4bf0d99 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -146,20 +146,6 @@ def getMacAddress(dev):
         log.debug("getMacAddress %s: %s" % (dev, e))
     return device_macaddr
 
-def getLinkStatus(dev):
-    """Return carrier status of device, None if not found"""
-
-    device_props_iface = getDeviceProperties(dev=dev)
-    if device_props_iface is None:
-        return None
-
-    carrier = None
-    try:
-        carrier = device_props_iface.Get(NM_DEVICE_WIRED_IFACE, "Carrier").upper()
-    except dbus.exceptions.DBusException as e:
-        log.debug("getLinkStatus %s: %s" % (dev, e))
-    return carrier
-
 # Determine if a network device is a wireless device.
 def isWirelessDevice(dev_name):
     bus = dbus.SystemBus()
@@ -767,9 +753,15 @@ def get_ksdevice_name(ksspec=""):
         if ksdevice == dev:
             break
         # "link"
-        elif ksdevice == 'link' and getLinkStatus(dev):
-            ksdevice = dev
-            break
+        elif ksdevice == 'link':
+            try:
+                link_up = nm.nm_device_carrier(dev)
+            except ValueError as e:
+                log.debug("get_ksdevice_name: %s" % e)
+                continue
+            if link_up:
+                ksdevice = dev
+                break
         # "XX:XX:XX:XX:XX:XX" (mac address)
         elif ':' in ksdevice:
             if ksdevice.upper() == getMacAddress(dev):
@@ -966,7 +958,12 @@ def get_device_name(devspec):
             devname = ""
         if devspec.lower() == "link":
             for dev in sorted(devices):
-                if getLinkStatus(dev):
+                try:
+                    link_up = nm.nm_device_carrier(dev)
+                except ValueError as e:
+                    log.debug("get_device_name: %s" % e)
+                    continue
+                if link_up:
                     devname = dev
                     break
             else:
-- 
1.7.11.7



More information about the anaconda-patches mailing list