In dracut we set ONBOOT=yes for --activate so that NM activates the device upon its start, in anaconda we set the real value of ONBOOT. --- dracut/parse-kickstart | 4 +- pyanaconda/kickstart.py | 131 +----------------------------------------------- pyanaconda/network.py | 71 ++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 130 deletions(-)
diff --git a/dracut/parse-kickstart b/dracut/parse-kickstart index b5b30dd..0175c2a 100755 --- a/dracut/parse-kickstart +++ b/dracut/parse-kickstart @@ -265,7 +265,9 @@ def ksnet_to_ifcfg(net, filename=None): ifcfg['DEVICE'] = dev ifcfg['HWADDR'] = readsysfile("/sys/class/net/%s/address" % dev) ifcfg['UUID'] = readsysfile("/proc/sys/kernel/random/uuid") - ifcfg['ONBOOT'] = "yes" if net.onboot else "no" + # we set real ONBOOT value in anaconda, here + # we use it to activate devcies by NM on start + ifcfg['ONBOOT'] = "yes" if net.activate else "no"
# dhcp etc. ifcfg['BOOTPROTO'] = net.bootProto diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py index 827ef30..a52b6eb 100644 --- a/pyanaconda/kickstart.py +++ b/pyanaconda/kickstart.py @@ -756,135 +756,8 @@ class Logging(commands.logging.FC6_Logging):
class NetworkData(commands.network.F16_NetworkData): def execute(self): - if flags.imageInstall: - if self.hostname != "": - network.setHostname(self.hostname) - - # Only set hostname - return - - # we can ignore this here (already activated in stage 1) - # only set hostname - if self.essid: - if self.hostname != "": - network.setHostname(self.hostname) - return - - devices = network.getDevices() - - if not self.device: - if "ksdevice" in flags.cmdline: - msg = "ksdevice boot parameter" - device = network.get_ksdevice_name(flags.cmdline["ksdevice"]) - elif network.hasActiveNetDev(): - # device activated in stage 1 by network kickstart command - msg = "first active device" - device = network.getActiveNetDevs()[0] - else: - msg = "first device found" - device = min(devices) - log.info("unspecified network --device in kickstart, using %s (%s)" % - (device, msg)) - else: - if self.device.lower() == "ibft": - return - if self.device.lower() == "link": - for dev in sorted(devices): - if isys.getLinkStatus(dev): - device = dev - break - else: - raise KickstartValueError, formatErrorMsg(self.lineno, msg="No device with link found") - - elif self.device.lower() == "bootif": - if "BOOTIF" in flags.cmdline: - # MAC address like 01-aa-bb-cc-dd-ee-ff - device = flags.cmdline["BOOTIF"][3:] - device = device.replace("-",":") - else: - raise KickstartValueError, formatErrorMsg(self.lineno, msg="Using --device=bootif without BOOTIF= boot option supplied") - else: device = self.device - - # If we were given a network device name, grab the device object. - # If we were given a MAC address, resolve that to a device name - # and then grab the device object. Otherwise, errors. - - if device not in devices: - for d in devices: - if isys.getMacAddress(d).lower() == device.lower(): - device = d - break - - dev = network.NetworkDevice(ROOT_PATH, device) - try: - dev.loadIfcfgFile() - except IOError as e: - log.info("Can't load ifcfg file %s" % dev.path) - dev = None - - if self.hostname != "": - network.setHostname(self.hostname) - if not dev: - # Only set hostname - return - else: - if not dev: - raise KickstartValueError, formatErrorMsg(self.lineno, msg="The provided network interface %s does not exist" % device) - - - # ipv4 settings - if not self.noipv4: - dev.set(("BOOTPROTO", self.bootProto)) - dev.set(("DHCPCLASS", self.dhcpclass)) - - if self.bootProto == "static": - if (self.ip): - dev.set(("IPADDR", self.ip)) - if (self.netmask): - dev.set(("NETMASK", self.netmask)) - - if self.bootProto == "dhcp" and self.hostname: - dev.set(("DHCP_HOSTNAME", self.hostname)) - - - # ipv6 settings - if self.noipv6: - dev.set(("IPV6INIT", "no")) - else: - dev.set(("IPV6INIT", "yes")) - if self.ipv6 == "auto": - dev.set(("IPV6_AUTOCONF", "yes")) - elif self.ipv6 == "dhcp": - dev.set(("IPV6_AUTOCONF", "no")) - dev.set(("DHCPV6C", "yes")) - elif self.ipv6: - dev.set(("IPV6_AUTOCONF", "no")) - dev.set(("IPV6ADDR", "%s" % self.ipv6)) - # settings common for ipv4 and ipv6 - if not self.noipv6 or not self.noipv4: - if self.onboot: - dev.set (("ONBOOT", "yes")) - else: - dev.set (("ONBOOT", "no")) - - if self.mtu: - dev.set(("MTU", self.mtu)) - - if self.ethtool: - dev.set(("ETHTOOL_OPTS", self.ethtool)) - - if self.nameserver != "": - dev.setDNS(self.nameserver) - - if self.gateway != "": - dev.setGateway(self.gateway) - - if self.nodefroute: - dev.set (("DEFROUTE", "no")) - - #TODO - # write ifcfg file, carefuly handle ONBOOT value, - # problems - might activate the device!!! + # it happens in writeNetworkConf + pass
class MultiPath(commands.multipath.FC6_MultiPath): def parse(self, args): diff --git a/pyanaconda/network.py b/pyanaconda/network.py index 640cd70..92449a4 100644 --- a/pyanaconda/network.py +++ b/pyanaconda/network.py @@ -926,6 +926,72 @@ def update_hostname(ksdata): nd = kickstartNetworkData(hostname=hostname) ksdata.network.network.append(nd)
+def get_device_name(devspec): + + devices = getDevices() + devname = None + + if not devspec: + if "ksdevice" in flags.cmdline: + msg = "ksdevice boot parameter" + devname = get_ksdevice_name(flags.cmdline["ksdevice"]) + elif hasActiveNetDev(): + # device activated in stage 1 by network kickstart command + msg = "first active device" + devname = getActiveNetDevs()[0] + else: + msg = "first device found" + devname = min(devices) + log.info("unspecified network --device in kickstart, using %s (%s)" % + (devname, msg)) + else: + if devspec.lower() == "ibft": + devname = "" + if devspec.lower() == "link": + for dev in sorted(devices): + if isys.getLinkStatus(dev): + devname = dev + break + else: + log.error("Kickstart: No network device with link found") + elif devspec.lower() == "bootif": + if "BOOTIF" in flags.cmdline: + # MAC address like 01-aa-bb-cc-dd-ee-ff + devname = flags.cmdline["BOOTIF"][3:] + devname = devname.replace("-",":") + else: + log.error("Using --device=bootif without BOOTIF= boot option supplied") + else: devname = devspec + + if devname not in devices: + for d in devices: + if isys.getMacAddress(d).lower() == devname.lower(): + devname = d + break + + return devname + +def setOnboot(ksdata): + for network_data in ksdata.network.network: + + devname = get_device_name(network_data.device) + if not devname: + log.error("Kickstart: The provided network interface %s does not exist" % devname) + continue + + dev = NetworkDevice(netscriptsDir, devname) + try: + dev.loadIfcfgFile() + except IOError as e: + log.info("Can't load ifcfg file %s, %s" % (dev.path, e)) + continue + + if network_data.onboot: + dev.set (("ONBOOT", "yes")) + else: + dev.set (("ONBOOT", "no")) + dev.writeIfcfgFile() + # networking initialization and ksdata object update def networkInitialize(ksdata): from pyanaconda.kickstart import NetworkData @@ -934,6 +1000,11 @@ def networkInitialize(ksdata): # XXX: this should go to anaconda dracut createMissingDefaultIfcfgs()
+ # we set ONBOOT value using network --activate activate in dracut + # to get devices activated by NM, so set proper ONBOOT value + # based on --onboot here + setOnboot(ksdata) + if ksdata.network.hostname is None: update_hostname(ksdata)
Note - the change in pyanaconda/__init__.py is probably dead code.
--- pyanaconda/__init__.py | 4 ++-- pyanaconda/install.py | 3 +-- pyanaconda/kickstart.py | 11 +++++++---- pyanaconda/network.py | 25 ++++++++++++------------- 4 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py index 1f6febd..b607727 100644 --- a/pyanaconda/__init__.py +++ b/pyanaconda/__init__.py @@ -242,6 +242,6 @@ class Anaconda(object): network.copyConfigToPath(ROOT_PATH) if not self.ksdata: self.instClass.setNetworkOnbootDefault() - network.disableNMForStorageDevices(self.storage) - network.autostartFCoEDevices(self.storage) + network.disableNMForStorageDevices(ROOT_PATH, self.storage) + network.autostartFCoEDevices(ROOT_PATH, 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..5d33c21 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 @@ -755,9 +755,11 @@ class Logging(commands.logging.FC6_Logging): logger.updateRemote(remote_server)
class NetworkData(commands.network.F16_NetworkData): - def execute(self): - # it happens in writeNetworkConf - pass + 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 +1321,7 @@ commandMap = { "logging": Logging, "logvol": LogVol, "multipath": MultiPath, + "network": Network, "part": Partition, "partition": Partition, "raid": Raid, diff --git a/pyanaconda/network.py b/pyanaconda/network.py index 92449a4..db050f7 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
@@ -826,11 +825,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 +841,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 +879,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.
Note - the change in pyanaconda/__init__.py is probably dead code.
It is. You can either kill just those network lines if you don't want to change them, or remove the write method entirely. Probably best to do the former and we'll do the latter in a separate patch.
- Chris
I'll kill the network lines.
On 11/28/2012 06:07 PM, Chris Lumens wrote:
Note - the change in pyanaconda/__init__.py is probably dead code.
It is. You can either kill just those network lines if you don't want to change them, or remove the write method entirely. Probably best to do the former and we'll do the latter in a separate patch.
- Chris
anaconda-patches mailing list anaconda-patches@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
--- 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
On Thu, Nov 29, 2012 at 01:30:22PM +0100, Radek Vykydal wrote:
pyanaconda/__init__.py | 2 -- pyanaconda/install.py | 3 +-- pyanaconda/kickstart.py | 11 +++++------ pyanaconda/network.py | 33 ++++++++++++++++----------------- 4 files changed, 22 insertions(+), 27 deletions(-)
Looks good to me.
--- pyanaconda/ui/gui/spokes/network.py | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py index 687319c..e5b91d5 100644 --- a/pyanaconda/ui/gui/spokes/network.py +++ b/pyanaconda/ui/gui/spokes/network.py @@ -366,6 +366,7 @@ class NetworkControlBox(): # Signal handlers. def on_device_selection_changed(self, *args): device = self.selected_device() + log.debug("network: selected device %s" % device.get_iface()) self.refresh_ui(device)
def on_device_state_changed(self, *args): @@ -391,6 +392,8 @@ class NetworkControlBox(): if ap_obj_path == "ap-other...": return
+ log.info("network: access point changed: %s" % ssid_target) + if we_dont_have_nm_applet_as_secrets_agent: if self.find_active_connection_for_device(device): # TODO we should pass callback and block until really disconnected? @@ -435,6 +438,7 @@ class NetworkControlBox(): and ssid and (device.get_iface(), ssid) not in self.activated_connections()): activate = (con, device)
+ log.info("network: configuring connection %s device %s ssid %s" % (uuid, device.get_iface(), ssid)) self.builder.get_object("button_wired_options").set_sensitive(False) proc = subprocess.Popen(["nm-connection-editor", "--edit", "%s" % uuid])
@@ -463,6 +467,9 @@ class NetworkControlBox(): active = switch.get_active() device = self.selected_device()
+ log.info("network: device %s switched %s" % + (device.get_iface(), "on" if active else "off")) + dev_type = device.get_device_type() if dev_type == NetworkManager.DeviceType.ETHERNET: if active:
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py index 827ef30..a52b6eb 100644 --- a/pyanaconda/kickstart.py +++ b/pyanaconda/kickstart.py @@ -756,135 +756,8 @@ class Logging(commands.logging.FC6_Logging):
class NetworkData(commands.network.F16_NetworkData):
You can just get rid of the NetworkData class entirely in this case, and you can also get rid of the reference to NetworkData from dataMap later on in kickstart.py. I don't see anywhere else that explicitly calls this execute method, and pykickstart doesn't know anything about execute at all.
- Chris
On 11/28/2012 06:05 PM, Chris Lumens wrote:
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py index 827ef30..a52b6eb 100644 --- a/pyanaconda/kickstart.py +++ b/pyanaconda/kickstart.py @@ -756,135 +756,8 @@ class Logging(commands.logging.FC6_Logging):
class NetworkData(commands.network.F16_NetworkData):
You can just get rid of the NetworkData class entirely in this case, and you can also get rid of the reference to NetworkData from dataMap later on in kickstart.py. I don't see anywhere else that explicitly calls this execute method, and pykickstart doesn't know anything about execute at all.
I was keeping it because I was creating instances of NetworkData objects in network.py. Sending v2 of [2/3] patch using AnacondaKSHandler instead (the v2 also removes dead network lines from your previous comment)
anaconda-patches@lists.fedorahosted.org