--- 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