[PATCH] On Fedora have ONBOOT=yes as default for wired devices (#963952)
Radek Vykydal
rvykydal at redhat.com
Fri May 17 13:26:08 UTC 2013
The case from BZ is installation without connection (link) and
desire to connect automatically after reboot.
---
anaconda | 2 +-
pyanaconda/__init__.py | 2 --
pyanaconda/installclass.py | 4 ----
pyanaconda/installclasses/fedora.py | 26 --------------------------
pyanaconda/network.py | 14 ++++++--------
5 files changed, 7 insertions(+), 41 deletions(-)
diff --git a/anaconda b/anaconda
index ac90d72..19aa601 100755
--- a/anaconda
+++ b/anaconda
@@ -1037,7 +1037,7 @@ if __name__ == "__main__":
else:
cleanPStore()
- networkInitialize(ksdata)
+ networkInitialize(ksdata, anaconda.instClass)
if not flags.dirInstall:
threadMgr.add(AnacondaThread(name=constants.THREAD_STORAGE, target=storageInitialize, args=(anaconda.storage, ksdata, anaconda.protected)))
threadMgr.add(AnacondaThread(name=constants.THREAD_WAIT_FOR_CONNECTING_NM, target=wait_for_connecting_NM_thread, args=(ksdata,)))
diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py
index f5a81a5..e28130f 100644
--- a/pyanaconda/__init__.py
+++ b/pyanaconda/__init__.py
@@ -240,6 +240,4 @@ class Anaconda(object):
network.write_sysconfig_network()
network.disableIPV6()
network.copyConfigToPath(ROOT_PATH)
- if not self.ksdata:
- self.instClass.setNetworkOnbootDefault()
self.desktop.write()
diff --git a/pyanaconda/installclass.py b/pyanaconda/installclass.py
index 6d0b1e8..739b705 100644
--- a/pyanaconda/installclass.py
+++ b/pyanaconda/installclass.py
@@ -100,10 +100,6 @@ class BaseInstallClass(object):
anaconda.bootloader.timeout = self.bootloaderTimeoutDefault
anaconda.bootloader.boot_args.update(self.bootloaderExtraArgs)
- # sets default ONBOOT values and updates ksdata accordingly
- def setNetworkOnbootDefault(self, ksdata):
- pass
-
def __init__(self):
pass
diff --git a/pyanaconda/installclasses/fedora.py b/pyanaconda/installclasses/fedora.py
index 6f95f85..1509581 100644
--- a/pyanaconda/installclasses/fedora.py
+++ b/pyanaconda/installclasses/fedora.py
@@ -45,31 +45,5 @@ class InstallClass(BaseInstallClass):
def setGroupSelection(self, anaconda):
BaseInstallClass.setGroupSelection(self, anaconda)
- def setNetworkOnbootDefault(self, ksdata):
- # if something's already enabled, we can just leave the config alone
- for devName in nm.nm_devices():
- if not nm.nm_device_type_is_wifi(devName) and \
- network.get_ifcfg_value(devName, "ONBOOT", ROOT_PATH) == "yes":
- return
-
- # the default otherwise: bring up the first wired netdev with link
- for devName in nm.nm_devices():
- if nm.nm_device_type_is_wifi(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'))
- dev.writeIfcfgFile()
- for nd in ksdata.network.network:
- if nd.device == dev.iface:
- nd.onboot = True
- break
- break
-
def __init__(self):
BaseInstallClass.__init__(self)
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 6f73143..2c1ab0c 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -290,7 +290,7 @@ class NetworkDevice(IfcfgFile):
return content
-def dumpMissingDefaultIfcfgs():
+def dumpMissingDefaultIfcfgs(instclass):
"""
Dump missing default ifcfg file for wired devices.
For default auto connections created by NM upon start - which happens
@@ -317,8 +317,9 @@ def dumpMissingDefaultIfcfgs():
try:
nm.nm_update_settings_of_device(devname, 'connection', 'id', devname)
log.debug("network: dumping ifcfg file for default autoconnection on %s" % devname)
- nm.nm_update_settings_of_device(devname, 'connection', 'autoconnect', False)
- log.debug("network: setting autoconnect of %s to False" % devname)
+ if instclass.id == "rhel":
+ nm.nm_update_settings_of_device(devname, 'connection', 'autoconnect', False)
+ log.debug("network: setting autoconnect of %s to False" % devname)
except nm.DeviceSettingsNotFoundError as e:
log.debug("network: no ifcfg file for %s" % devname)
rv = True
@@ -758,9 +759,6 @@ def write_network_config(storage, ksdata, instClass, rootpath):
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(rootpath, storage)
autostartFCoEDevices(rootpath, storage, ksdata)
@@ -873,13 +871,13 @@ def setOnboot(ksdata):
except nm.DeviceSettingsNotFoundError as e:
log.debug("setOnboot: %s" % e)
-def networkInitialize(ksdata):
+def networkInitialize(ksdata, instclass):
log.debug("network: devices found %s" % nm.nm_devices())
logIfcfgFiles("network initialization")
if not flags.imageInstall:
- if dumpMissingDefaultIfcfgs():
+ if dumpMissingDefaultIfcfgs(instclass):
logIfcfgFiles("ifcfgs created")
# For kickstart network --activate option we set ONBOOT=yes
--
1.7.11.7
More information about the anaconda-patches
mailing list