[PATCH 00/15] remove Network(): remove unused functions

Radek Vykydal rvykydal at redhat.com
Thu Jul 19 10:29:48 UTC 2012


move some methods out of Network object
still keeping old ui working
---
 pyanaconda/gui.py                     |    4 +-
 pyanaconda/iw/network_gui.py          |    3 +-
 pyanaconda/kickstart.py               |   13 ++-
 pyanaconda/network.py                 |  210 +++++++++++++--------------------
 pyanaconda/textw/netconfig_text.py    |    4 +-
 tests/pyanaconda_test/network_test.py |  107 ++++-------------
 6 files changed, 123 insertions(+), 218 deletions(-)

diff --git a/pyanaconda/gui.py b/pyanaconda/gui.py
index d8360a9..308ee86 100755
--- a/pyanaconda/gui.py
+++ b/pyanaconda/gui.py
@@ -934,7 +934,7 @@ class InstallInterface(InstallInterfaceBase):
                 w = self.anaconda.intf.waitWindow(_("Wireless setup"),
                                     _("Scanning access points for wireless devices"))
                 # get available wireless APs
-                dev_all_ssids = self.anaconda.network.getSSIDs()
+                dev_all_ssids = network.getSSIDs()
                 w.pop()
                 # select wireless APs
                 dev_ssids = selectSSIDsDialog(dev_all_ssids) or dev_all_ssids
@@ -961,7 +961,7 @@ class InstallInterface(InstallInterfaceBase):
                 w = WaitWindow(_("Waiting for NetworkManager"),
                                _("Waiting for NetworkManager to activate "
                                  "these devices: %s") % ",".join(waited_devs))
-                failed_devs = self.anaconda.network.waitForDevicesActivation(waited_devs)
+                failed_devs = network.waitForDevicesActivation(waited_devs)
                 w.pop()
 
                 if just_setup:
diff --git a/pyanaconda/iw/network_gui.py b/pyanaconda/iw/network_gui.py
index 1521db0..f1c19c0 100644
--- a/pyanaconda/iw/network_gui.py
+++ b/pyanaconda/iw/network_gui.py
@@ -95,7 +95,8 @@ class NetworkWindow(InstallWindow):
                                     custom_icon="error")
             self.hostnameError()
 
-        self.anaconda.network.setHostname(hostname)
+        self.anaconda.network.hostname = hostname
+        network.setHostname(hostname)
         return None
 
 def NMCEExited(pid, condition, anaconda):
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 8a74713..8238c88 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -645,7 +645,8 @@ class NetworkData(commands.network.F16_NetworkData):
     def execute(self):
         if flags.imageInstall:
             if self.hostname != "":
-                self.anaconda.network.setHostname(self.hostname)
+                self.anaconda.network.hostname = self.hostname
+                network.setHostname(self.hostname)
 
             # Only set hostname
             return
@@ -654,7 +655,8 @@ class NetworkData(commands.network.F16_NetworkData):
         # only set hostname
         if self.essid:
             if self.hostname != "":
-                self.anaconda.network.setHostname(self.hostname)
+                self.anaconda.network.hostname = self.hostname
+                network.setHostname(self.hostname)
             return
 
         devices = self.anaconda.network.netdevices
@@ -706,7 +708,8 @@ class NetworkData(commands.network.F16_NetworkData):
                     break
 
         if self.hostname != "":
-            self.anaconda.network.setHostname(self.hostname)
+            self.anaconda.network.hostname = self.hostname
+            network.setHostname(self.hostname)
             if not dev:
                 # Only set hostname
                 return
@@ -757,10 +760,10 @@ class NetworkData(commands.network.F16_NetworkData):
                 dev.set(("ETHTOOL_OPTS", self.ethtool))
 
             if self.nameserver != "":
-                self.anaconda.network.setDNS(self.nameserver, dev.iface)
+                dev.setDNS(self.nameserver)
 
             if self.gateway != "":
-                self.anaconda.network.setGateway(self.gateway, dev.iface)
+                dev.setGateway(self.gateway)
 
         if self.nodefroute:
             dev.set (("DEFROUTE", "no"))
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 859c368..0a5ad61 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -362,6 +362,31 @@ class NetworkDevice(IfcfgFile):
 
         return False
 
+    def setGateway(self, gw):
+        if ':' in gw:
+            self.set(('IPV6_DEFAULTGW', gw))
+        else:
+            self.set(('GATEWAY', gw))
+
+    def unsetDNS(self):
+        """Unset all DNS* ifcfg parameters."""
+        i = 1
+        while True:
+            if self.get("DNS%d" % i):
+                self.unset("DNS%d" %i)
+            else:
+                break
+            i += 1
+
+    def setDNS(self, ns):
+        dns = ns.split(',')
+        i = 1
+        for addr in dns:
+            addr = addr.strip()
+            dnslabel = "DNS%d" % (i,)
+            self.set((dnslabel, addr))
+            i += 1
+
 class WirelessNetworkDevice(NetworkDevice):
 
     """
@@ -469,11 +494,6 @@ class Network:
                         self.ksdevice = dev
                         break
 
-
-
-    def getDevice(self, device):
-        return self.netdevices[device]
-
     def getKSDevice(self):
         if self.ksdevice is None:
             return None
@@ -483,42 +503,6 @@ class Network:
         except:
             return None
 
-    def setHostname(self, hn):
-        self.hostname = hn
-        if flags.imageInstall:
-            log.info("image install -- not setting hostname")
-            return
-
-        log.info("setting installation environment hostname to %s" % hn)
-        iutil.execWithRedirect("hostname", ["-v", hn ],
-                               stdout="/dev/tty5", stderr="/dev/tty5")
-
-    def unsetDNS(self, devname):
-        """Unset all DNS* ifcfg parameters."""
-        i = 1
-        dev = self.netdevices[devname]
-        while True:
-            if dev.get("DNS%d" % i):
-                dev.unset("DNS%d" %i)
-            else:
-                break
-            i += 1
-
-    def setDNS(self, ns, device):
-        dns = ns.split(',')
-        i = 1
-        for addr in dns:
-            addr = addr.strip()
-            dnslabel = "DNS%d" % (i,)
-            self.netdevices[device].set((dnslabel, addr))
-            i += 1
-
-    def setGateway(self, gw, device):
-        if ':' in gw:
-            self.netdevices[device].set(('IPV6_DEFAULTGW', gw))
-        else:
-            self.netdevices[device].set(('GATEWAY', gw))
-
     @property
     def gateway(self):
         """GATEWAY - last device in list wins"""
@@ -537,29 +521,6 @@ class Network:
                 return dev.get('IPV6_DEFAULTGW')
         return ""
 
-    def lookupHostname(self):
-        # can't look things up if they don't exist!
-        if not self.hostname or self.hostname == "localhost.localdomain":
-            return None
-
-        if not hasActiveNetDev():
-            log.warning("no network devices were available to look up host name")
-            return None
-
-        try:
-            (family, socktype, proto, canonname, sockaddr) = \
-                socket.getaddrinfo(self.hostname, None, socket.AF_INET)[0]
-            (ip, port) = sockaddr
-        except:
-            try:
-                (family, socktype, proto, canonname, sockaddr) = \
-                    socket.getaddrinfo(self.hostname, None, socket.AF_INET6)[0]
-                (ip, port, flowinfo, scopeid) = sockaddr
-            except:
-                return None
-
-        return ip
-
     # Note that the file is written-out only if there is a value
     # that has changed.
     def writeIfcfgFiles(self):
@@ -595,10 +556,6 @@ class Network:
                             "NM_CONTROLLED=yes\n")
             ifcfgfile.close()
 
-
-    def getSSIDs(self):
-        return getSSIDs()
-
     def writeKS(self, f):
         devNames = self.netdevices.keys()
         devNames.sort()
@@ -611,16 +568,6 @@ class Network:
             line = "%s" % kickstartNetworkData(dev, self.hostname)
             f.write(line)
 
-    def hasNameServers(self, hash):
-        if hash.keys() == []:
-            return False
-
-        for key in hash.keys():
-            if key.upper().startswith('DNS'):
-                return True
-
-        return False
-
     def hasWirelessDev(self):
         for dev in self.netdevices:
             if isys.isWirelessDevice(dev):
@@ -768,60 +715,12 @@ class Network:
                 f.write("options ipv6 disable=1\n")
                 f.close()
 
-    def waitForDevicesActivation(self, devices):
-        waited_devs_props = {}
-
-        bus = dbus.SystemBus()
-        nm = bus.get_object(isys.NM_SERVICE, isys.NM_MANAGER_PATH)
-        device_paths = nm.get_dbus_method("GetDevices")()
-        for device_path in device_paths:
-            device = bus.get_object(isys.NM_SERVICE, device_path)
-            device_props_iface = dbus.Interface(device, isys.DBUS_PROPS_IFACE)
-            iface = str(device_props_iface.Get(isys.NM_DEVICE_IFACE, "Interface"))
-            if iface in devices:
-                waited_devs_props[iface] = device_props_iface
-
-        i = 0
-        while True:
-            for dev, device_props_iface in waited_devs_props.items():
-                state = device_props_iface.Get(isys.NM_DEVICE_IFACE, "State")
-                if state == isys.NM_DEVICE_STATE_ACTIVATED:
-                    waited_devs_props.pop(dev)
-            if len(waited_devs_props) == 0 or i >= CONNECTION_TIMEOUT:
-                break
-            i += 1
-            time.sleep(1)
-
-        return waited_devs_props.keys()
-
-    # write out current configuration state and wait for NetworkManager
-    # to bring the device up, watch NM state and return to the caller
-    # once we have a state
-    def waitForConnection(self):
-        bus = dbus.SystemBus()
-        nm = bus.get_object(isys.NM_SERVICE, isys.NM_MANAGER_PATH)
-        props = dbus.Interface(nm, isys.DBUS_PROPS_IFACE)
-
-        i = 0
-        while i < CONNECTION_TIMEOUT:
-            state = props.Get(isys.NM_SERVICE, "State")
-            if nmIsConnected(state):
-                return True
-            i += 1
-            time.sleep(1)
-
-        state = props.Get(isys.NM_SERVICE, "State")
-        if nmIsConnected(state):
-            return True
-
-        return False
-
     # write out current configuration state and wait for NetworkManager
     # to bring the device up, watch NM state and return to the caller
     # once we have a state
     def bringUp(self):
         self.write()
-        if self.waitForConnection():
+        if waitForConnection():
             resetResolver()
             return True
         else:
@@ -901,6 +800,55 @@ class Network:
 
         return netargs
 
+def waitForDevicesActivation(devices):
+    waited_devs_props = {}
+
+    bus = dbus.SystemBus()
+    nm = bus.get_object(isys.NM_SERVICE, isys.NM_MANAGER_PATH)
+    device_paths = nm.get_dbus_method("GetDevices")()
+    for device_path in device_paths:
+        device = bus.get_object(isys.NM_SERVICE, device_path)
+        device_props_iface = dbus.Interface(device, isys.DBUS_PROPS_IFACE)
+        iface = str(device_props_iface.Get(isys.NM_DEVICE_IFACE, "Interface"))
+        if iface in devices:
+            waited_devs_props[iface] = device_props_iface
+
+    i = 0
+    while True:
+        for dev, device_props_iface in waited_devs_props.items():
+            state = device_props_iface.Get(isys.NM_DEVICE_IFACE, "State")
+            if state == isys.NM_DEVICE_STATE_ACTIVATED:
+                waited_devs_props.pop(dev)
+        if len(waited_devs_props) == 0 or i >= CONNECTION_TIMEOUT:
+            break
+        i += 1
+        time.sleep(1)
+
+    return waited_devs_props.keys()
+
+# write out current configuration state and wait for NetworkManager
+# to bring the device up, watch NM state and return to the caller
+# once we have a state
+def waitForConnection():
+    bus = dbus.SystemBus()
+    nm = bus.get_object(isys.NM_SERVICE, isys.NM_MANAGER_PATH)
+    props = dbus.Interface(nm, isys.DBUS_PROPS_IFACE)
+
+    i = 0
+    while i < CONNECTION_TIMEOUT:
+        state = props.Get(isys.NM_SERVICE, "State")
+        if nmIsConnected(state):
+            return True
+        i += 1
+        time.sleep(1)
+
+    state = props.Get(isys.NM_SERVICE, "State")
+    if nmIsConnected(state):
+        return True
+
+    return False
+
+
 def kickstartNetworkData(ifcfg, hostname=None):
 
     from pyanaconda.kickstart import NetworkData
@@ -1037,3 +985,11 @@ def resetResolver():
     isys.resetResolv()
     urlgrabber.grabber.reset_curl_obj()
 
+def setHostname(hn):
+    if flags.imageInstall:
+        log.info("image install -- not setting hostname")
+        return
+
+    log.info("setting installation environment hostname to %s" % hn)
+    iutil.execWithRedirect("hostname", ["-v", hn ],
+                           stdout="/dev/tty5", stderr="/dev/tty5")
diff --git a/pyanaconda/textw/netconfig_text.py b/pyanaconda/textw/netconfig_text.py
index aabd7d5..ed1fff2 100644
--- a/pyanaconda/textw/netconfig_text.py
+++ b/pyanaconda/textw/netconfig_text.py
@@ -390,9 +390,9 @@ class NetworkConfiguratorText:
         else:
             dev.set(("IPV6INIT", "no"))
 
-        self.anaconda.network.unsetDNS(devname)
+        self.netdevs[devname].unsetDNS()
         if nameservers:
-            self.anaconda.network.setDNS(nameservers, devname)
+            self.netdevs[devname].setDNS(nameservers)
 
         dev.set(('ONBOOT', 'yes'))
 
diff --git a/tests/pyanaconda_test/network_test.py b/tests/pyanaconda_test/network_test.py
index 561ddab..7ad58cf 100644
--- a/tests/pyanaconda_test/network_test.py
+++ b/tests/pyanaconda_test/network_test.py
@@ -262,6 +262,28 @@ class NetworkTest(mock.TestCase):
         self.assertEqual(nd.info, {'KEY': 'other_value'})
         self.assertTrue(nd._dirty)
 
+    def networkdevice_set_gateway_test(self):
+        import pyanaconda.network
+        nd = pyanaconda.network.NetworkDevice(self.NETSCRIPTSDIR, self.DEVICE)
+        nd.setGateway('10.0.0.1')
+        self.assertEqual(nd.info, {'GATEWAY': '10.0.0.1'})
+        self.assertTrue(nd._dirty)
+
+    def networkdevice_set_gateway_ipv6_test(self):
+        import pyanaconda.network
+        nd = pyanaconda.network.NetworkDevice(self.NETSCRIPTSDIR, self.DEVICE)
+        nd.setGateway('fe80::5675:d0ff:feac:4d3f')
+        self.assertEqual(nd.info, {'IPV6_DEFAULTGW': 'fe80::5675:d0ff:feac:4d3f'})
+        self.assertTrue(nd._dirty)
+
+    def networkdevice_set_dns_test(self):
+        import pyanaconda.network
+        nd = pyanaconda.network.NetworkDevice(self.NETSCRIPTSDIR, self.DEVICE)
+        nd.setDNS('10.0.0.1, 10.0.0.2')
+        self.assertEqual(nd.info, {'DNS1': '10.0.0.1'})
+        self.assertEqual(nd.info, {'DNS2': '10.0.0.2'})
+        self.assertTrue(nd._dirty)
+
     def networkdevice_keyfile_path_test(self):
         import pyanaconda.network
         nd = pyanaconda.network.NetworkDevice(self.NETSCRIPTSDIR, self.DEVICE)
@@ -294,14 +316,6 @@ class NetworkTest(mock.TestCase):
         self.assertEqual(pyanaconda.network.shutil.move.call_args[0],
             (TMP_FILE, '%s/keys-%s' % (TMP_DIR, self.DEVICE)))
 
-    def network_get_device_test(self):
-        import pyanaconda.network
-
-        nw = pyanaconda.network.Network()
-        nw.netdevices['dev'] = 'device'
-        ret = nw.getDevice('dev')
-        self.assertEqual(ret, 'device')
-
     def network_get_ks_device_1_test(self):
         import pyanaconda.network
         nw = pyanaconda.network.Network()
@@ -324,57 +338,6 @@ class NetworkTest(mock.TestCase):
         ret = nw.getKSDevice()
         self.assertEqual(ret, 'device')
 
-    def network_set_hostname_test(self):
-        import pyanaconda.network
-        pyanaconda.network.iutil.execWithRedirect = mock.Mock()
-        nw = pyanaconda.network.Network()
-        nw.setHostname('DESKTOP')
-        self.assertEqual(nw.hostname, 'DESKTOP')
-
-    def network_set_dns_test(self):
-        import pyanaconda.network
-        nw = pyanaconda.network.Network()
-        nw.netdevices['dev'] = mock.Mock()
-        nw.setDNS('10.0.0.1, 10.0.0.2', 'dev')
-        self.assertEqual(nw.netdevices['dev'].method_calls,
-            [('set', (('DNS1', '10.0.0.1'),), {}),
-            ('set', (('DNS2', '10.0.0.2'),), {})]
-        )
-
-    def network_set_gateway_test(self):
-        import pyanaconda.network
-        nw = pyanaconda.network.Network()
-        nw.netdevices['eth0'] = mock.Mock()
-        nw.setGateway('10.0.0.1', 'eth0')
-        self.assertEqual(pyanaconda.network.Network.netdevices['eth0'].method_calls,
-            [('set', (('GATEWAY', '10.0.0.1'),), {})])
-
-    def network_lookup_hostname_1_test(self):
-        import pyanaconda.network
-        nw = pyanaconda.network.Network()
-        nw.hostname = None
-        ret = nw.lookupHostname()
-        self.assertEqual(ret, None)
-
-    def network_lookup_hostname_2_test(self):
-        import pyanaconda.network
-        nw = pyanaconda.network.Network()
-        nw.hostname = 'desktop'
-        pyanaconda.network.hasActiveNetDev = mock.Mock(return_value=False)
-        ret = nw.lookupHostname()
-        self.assertEqual(ret, None)
-
-    def network_lookup_hostname_3_test(self):
-        import pyanaconda.network
-        pyanaconda.network.socket.getaddrinfo.return_value = \
-            [(0, 0, 0, 0, ('10.1.1.1', 0))]
-
-        nw = pyanaconda.network.Network()
-        nw.hostname = 'desktop'
-        pyanaconda.network.hasActiveNetDev = mock.Mock(return_value=True)
-        ret = nw.lookupHostname()
-        self.assertEqual(ret, '10.1.1.1')
-
     def network_write_ifcfg_files_test(self):
         import pyanaconda.network
         nw = pyanaconda.network.Network()
@@ -458,22 +421,6 @@ class NetworkTest(mock.TestCase):
         self.assertEqual(self.fs[TMPFILE],
             'network --device eth0 --bootproto dhcp --noipv6\n')
 
-    def network_has_name_server_1_test(self):
-        import pyanaconda.network
-        hash = {'foo':'', 'bar':''}
-
-        nw = pyanaconda.network.Network()
-        ret = nw.hasNameServers(hash)
-        self.assertFalse(ret)
-
-    def network_has_name_server_2_test(self):
-        import pyanaconda.network
-        hash = {'foo':'', 'bar':'', 'dnsserver':''}
-
-        nw = pyanaconda.network.Network()
-        ret = nw.hasNameServers(hash)
-        self.assertTrue(ret)
-
     def network_has_wireless_dev_1_test(self):
         import pyanaconda.network
         pyanaconda.network.isys = mock.Mock()
@@ -556,8 +503,7 @@ class NetworkTest(mock.TestCase):
         pyanaconda.network.dbus.Interface().Get.return_value = \
             pyanaconda.network.isys.NM_STATE_CONNECTED_GLOBAL
 
-        nw = pyanaconda.network.Network()
-        ret = nw.waitForConnection()
+        ret = pyanaconda.network.waitForConnection()
         self.assertTrue(ret)
 
     def network_wait_for_connection_2_test(self):
@@ -568,19 +514,18 @@ class NetworkTest(mock.TestCase):
         pyanaconda.network.isys.NM_STATE_CONNECTED = self.OK
         pyanaconda.network.time.sleep = mock.Mock()
 
-        nw = pyanaconda.network.Network()
-        ret = nw.waitForConnection()
+        ret = pyanaconda.network.waitForConnection()
         self.assertFalse(ret)
 
     def network_bring_up_test(self):
         import pyanaconda.network
         pyanaconda.network.Network.write = mock.Mock()
-        pyanaconda.network.Network.waitForConnection = mock.Mock()
+        pyanaconda.network.waitForConnection = mock.Mock()
 
         nw = pyanaconda.network.Network()
         nw.bringUp()
         self.assertTrue(pyanaconda.network.Network.write.called)
-        self.assertTrue(pyanaconda.network.Network.waitForConnection.called)
+        self.assertTrue(pyanaconda.network.waitForConnection.called)
 
     def iface_for_host_ip_test(self):
         import pyanaconda.network
-- 
1.7.4



More information about the anaconda-patches mailing list