[PATCH 2/3 v2] Unify writeNetworkConf with other modules (rename, put in ks.execute)

Radek Vykydal rvykydal at redhat.com
Thu Nov 29 12:30:22 UTC 2012


---
 pyanaconda/__init__.py  |  2 --
 pyanaconda/install.py   |  3 +--
 pyanaconda/kickstart.py | 11 +++++------
 pyanaconda/network.py   | 33 ++++++++++++++++-----------------
 4 files changed, 22 insertions(+), 27 deletions(-)

diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py
index 1f6febd..a442f24 100644
--- a/pyanaconda/__init__.py
+++ b/pyanaconda/__init__.py
@@ -242,6 +242,4 @@ class Anaconda(object):
         network.copyConfigToPath(ROOT_PATH)
         if not self.ksdata:
             self.instClass.setNetworkOnbootDefault()
-        network.disableNMForStorageDevices(self.storage)
-        network.autostartFCoEDevices(self.storage)
         self.desktop.write()
diff --git a/pyanaconda/install.py b/pyanaconda/install.py
index bb1158b..d407ffe 100644
--- a/pyanaconda/install.py
+++ b/pyanaconda/install.py
@@ -25,7 +25,6 @@ from pyanaconda.storage import turnOnFilesystems
 from pyanaconda.bootloader import writeBootLoader
 from pyanaconda.progress import progress_report
 from pyanaconda.users import createLuserConf, getPassAlgo, Users
-from pyanaconda.network import writeNetworkConf
 from pyanaconda import flags
 from pyanaconda import timezone
 
@@ -69,7 +68,7 @@ def doConfiguration(storage, payload, ksdata, instClass):
         ksdata.xconfig.execute(storage, ksdata, instClass)
 
     with progress_report(_("Writing network configuration")):
-        writeNetworkConf(storage, ksdata, instClass)
+        ksdata.network.execute(storage, ksdata, instClass)
 
     # Creating users and groups requires some pre-configuration.
     with progress_report(_("Creating users")):
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index a52b6eb..1ec294a 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -42,13 +42,13 @@ from constants import *
 import shlex
 import sys
 import urlgrabber
-import network
 import pykickstart.commands as commands
 from storage.devices import *
 from pyanaconda import keyboard
 from pyanaconda import ntp
 from pyanaconda import timezone
 from pyanaconda import localization
+from pyanaconda import network
 from pyanaconda.simpleconfig import SimpleConfigFile
 from pyanaconda.users import getPassAlgo
 from pyanaconda.desktop import Desktop
@@ -754,10 +754,9 @@ class Logging(commands.logging.FC6_Logging):
                 remote_server = "%s:%s" %(self.host, self.port)
             logger.updateRemote(remote_server)
 
-class NetworkData(commands.network.F16_NetworkData):
-    def execute(self):
-        # it happens in writeNetworkConf
-        pass
+class Network(commands.network.F18_Network):
+    def execute(self, storage, ksdata, instClass):
+        network.write_network_config(storage, ksdata, instClass, ROOT_PATH)
 
 class MultiPath(commands.multipath.FC6_MultiPath):
     def parse(self, args):
@@ -1319,6 +1318,7 @@ commandMap = {
         "logging": Logging,
         "logvol": LogVol,
         "multipath": MultiPath,
+        "network": Network,
         "part": Partition,
         "partition": Partition,
         "raid": Raid,
@@ -1335,7 +1335,6 @@ commandMap = {
 dataMap = {
         "BTRFSData": BTRFSData,
         "LogVolData": LogVolData,
-        "NetworkData": NetworkData,
         "PartData": PartitionData,
         "RaidData": RaidData,
         "VolGroupData": VolGroupData,
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 92449a4..8cdd366 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -37,7 +37,6 @@ import tempfile
 import simpleconfig
 from flags import flags
 from simpleconfig import IfcfgFile
-from pyanaconda.constants import ROOT_PATH
 import urlgrabber.grabber
 from pyanaconda.storage.devices import FcoeDiskDevice, iScsiDiskDevice
 
@@ -567,11 +566,12 @@ def dracutBootArguments(ifcfg, storage_ipaddr, hostname=None):
 
 def kickstartNetworkData(ifcfg=None, hostname=None):
 
-    from pyanaconda.kickstart import NetworkData
+    from pyanaconda.kickstart import AnacondaKSHandler
+    handler = AnacondaKSHandler()
     kwargs = {}
 
     if not ifcfg and hostname:
-        return NetworkData(hostname=hostname, bootProto="")
+        return handler.NetworkData(hostname=hostname, bootProto="")
 
     # ipv4 and ipv6
     if not ifcfg.get("ESSID"):
@@ -642,7 +642,7 @@ def kickstartNetworkData(ifcfg=None, hostname=None):
             hostname != "localhost.localdomain"):
             kwargs["hostname"] = hostname
 
-    return NetworkData(**kwargs)
+    return handler.NetworkData(**kwargs)
 
 def getSSIDs(devices_to_scan=None):
 
@@ -826,11 +826,11 @@ def disableIPV6(rootpath):
             f.write("options ipv6 disable=1\n")
             f.close()
 
-def disableNMForStorageDevices(storage):
+def disableNMForStorageDevices(rootpath, storage):
     for devname in getDevices():
         if (usedByFCoE(devname, storage) or
             usedByRootOnISCSI(devname, storage)):
-            dev = NetworkDevice(ROOT_PATH + netscriptsDir, devname)
+            dev = NetworkDevice(rootpath + netscriptsDir, devname)
             if os.access(dev.path, os.R_OK):
                 dev.loadIfcfgFile()
                 dev.set(('NM_CONTROLLED', 'no'))
@@ -842,10 +842,10 @@ def disableNMForStorageDevices(storage):
                             devname)
 
 # sets ONBOOT=yes (and its mirror value in ksdata) for devices used by FCoE
-def autostartFCoEDevices(storage, ksdata):
+def autostartFCoEDevices(rootpath, storage, ksdata):
     for devname in getDevices():
         if usedByFCoE(devname, storage):
-            dev = NetworkDevice(ROOT_PATH + netscriptsDir, devname)
+            dev = NetworkDevice(rootpath + netscriptsDir, devname)
             if os.access(dev.path, os.R_OK):
                 dev.loadIfcfgFile()
                 dev.set(('ONBOOT', 'yes'))
@@ -880,19 +880,19 @@ def usedByRootOnISCSI(iface, storage):
 
     return False
 
-def writeNetworkConf(storage, ksdata, instClass):
-    write_sysconfig_network(ROOT_PATH, ksdata, overwrite=flags.livecdInstall)
-    disableIPV6(ROOT_PATH)
+def write_network_config(storage, ksdata, instClass, rootpath):
+    write_sysconfig_network(rootpath, ksdata, overwrite=flags.livecdInstall)
+    disableIPV6(rootpath)
     if not flags.imageInstall:
-        copyIfcfgFiles(ROOT_PATH)
-        copyDhclientConfFiles(ROOT_PATH)
-        copyFileToPath("/etc/resolv.conf", ROOT_PATH, overwrite=flags.livecdInstall)
+        copyIfcfgFiles(rootpath)
+        copyDhclientConfFiles(rootpath)
+        copyFileToPath("/etc/resolv.conf", rootpath, overwrite=flags.livecdInstall)
     # TODO the default for ONBOOT needs to be lay down
     # before newui we didn't set it for kickstart installs
     instClass.setNetworkOnbootDefault(ksdata)
     # NM_CONTROLLED is not mirrored in ksdata
-    disableNMForStorageDevices(storage)
-    autostartFCoEDevices(storage, ksdata)
+    disableNMForStorageDevices(rootpath, storage)
+    autostartFCoEDevices(rootpath, storage, ksdata)
 
 def wait_for_dhcp():
     """If NM is in connecting state, wait for connection.
@@ -994,7 +994,6 @@ def setOnboot(ksdata):
 
 # networking initialization and ksdata object update
 def networkInitialize(ksdata):
-    from pyanaconda.kickstart import NetworkData
 
     if not flags.imageInstall:
         # XXX: this should go to anaconda dracut
-- 
1.7.11.7



More information about the anaconda-patches mailing list