summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRadek Vykydal <rvykydal@redhat.com>2011-08-05 13:55:28 +0200
committerRadek Vykydal <rvykydal@redhat.com>2011-10-05 14:55:51 +0200
commitb3394593e521ffd1dc051e7ff330e99af903d420 (patch)
tree1e47a35a5e9ce8f485df539d20c63a5d32fc004c
parent48573f8d702a1ec9e5413ad701a7c7715270d730 (diff)
downloadanaconda-b3394593e521ffd1dc051e7ff330e99af903d420.tar.gz
anaconda-b3394593e521ffd1dc051e7ff330e99af903d420.tar.xz
anaconda-b3394593e521ffd1dc051e7ff330e99af903d420.zip
Default to an active network device after reboot on Fedora (ONBOOT) (#498207)
If no device was activated during install (e.g. DVD install), set ONBOOT=yes for first wired device having link found. (Which means the device will be brought up after system boot).
-rw-r--r--pyanaconda/__init__.py2
-rw-r--r--pyanaconda/installclass.py3
-rw-r--r--pyanaconda/installclasses/fedora.py12
-rw-r--r--pyanaconda/yuminstall.py2
4 files changed, 19 insertions, 0 deletions
diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py
index 8e195bf2f..2e0634657 100644
--- a/pyanaconda/__init__.py
+++ b/pyanaconda/__init__.py
@@ -290,6 +290,8 @@ class Anaconda(object):
self.instLanguage.write()
self.timezone.write()
+ if not self.ksdata:
+ self.instClass.setNetworkOnbootDefault(self.network)
self.network.write()
self.network.copyConfigToPath()
self.network.disableNMForStorageDevices(self)
diff --git a/pyanaconda/installclass.py b/pyanaconda/installclass.py
index 4c599d17d..0d784f291 100644
--- a/pyanaconda/installclass.py
+++ b/pyanaconda/installclass.py
@@ -211,6 +211,9 @@ class BaseInstallClass(object):
return self.productMatches(oldprod) and self.versionMatches(oldver) and archesEq(arch, productArch)
+ def setNetworkOnbootDefault(self, network):
+ pass
+
def __init__(self):
pass
diff --git a/pyanaconda/installclasses/fedora.py b/pyanaconda/installclasses/fedora.py
index a32803890..c40a899a4 100644
--- a/pyanaconda/installclasses/fedora.py
+++ b/pyanaconda/installclasses/fedora.py
@@ -22,6 +22,8 @@ from pyanaconda.constants import *
from pyanaconda.product import *
from pyanaconda.flags import flags
from pyanaconda import iutil
+from pyanaconda.network import hasActiveNetDev
+from pyanaconda import isys
import os, types
import gettext
@@ -122,5 +124,15 @@ class InstallClass(BaseInstallClass):
# than two versions ago!
return newVer >= oldVer and newVer - oldVer <= 2
+ def setNetworkOnbootDefault(self, network):
+ if hasActiveNetDev():
+ return
+
+ for devName, dev in network.netdevices.items():
+ if (not isys.isWirelessDevice(devName) and
+ isys.getLinkStatus(devName)):
+ dev.set(('ONBOOT', 'yes'))
+ break
+
def __init__(self):
BaseInstallClass.__init__(self)
diff --git a/pyanaconda/yuminstall.py b/pyanaconda/yuminstall.py
index 4bd0b9cdf..76b0af358 100644
--- a/pyanaconda/yuminstall.py
+++ b/pyanaconda/yuminstall.py
@@ -1611,6 +1611,8 @@ reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anacon
if os.access("/etc/modprobe.d/anaconda.conf", os.R_OK):
shutil.copyfile("/etc/modprobe.d/anaconda.conf",
ROOT_PATH + "/etc/modprobe.d/anaconda.conf")
+ if not anaconda.ksdata:
+ anaconda.instClass.setNetworkOnbootDefault(anaconda.network)
anaconda.network.write()
anaconda.network.copyConfigToPath()
anaconda.storage.write()