| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
OPTIONS line may contain shell quoting, make sure to strip that out when
constructing the rd_CCW line for dracut.
|
|
|
|
| |
We do not want to write out HWADDR for any network device type on s390x.
|
|
|
|
|
|
|
|
|
|
| |
Out "ip route" output parsing did not handle the "ip route" output
properly in the case we were trying to find out which interface is
used to get to a host when that host lives outside our subnet.
This patch fixes this. Note this only fixes part of #577193, but as
the other part is really unrelated I'm splitting the fix into 2
patches.
|
|
|
|
|
|
|
|
| |
The dracutSetupString() method in the Network class needed to write out
the rd_CCW parameter, which is necessary for network devices on s390x.
The format is described in the dracut(8) man page. The required
information has always been written to the ifcfg-DEVICE file, so we just
need to make sure it gets to dracut as well.
|
|
|
|
|
|
|
|
|
| |
This reverts commit 3b90bea90eb3c65f34e358babcb866b1514a4994.
ARP=no did not actually fix the problem with VSWITCH=1, nor did ARP=yes.
The problem was found to be in the /lib/udev/ccw_init file, which is
part of initscripts. The ifup script is not able to handle the
asynchronous bring up of s390x network devices.
|
|\ |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
When using LAYER2=1 VSWITCH=1 in your CMS conf file on s390x, the ifcfg
file written by anaconda will result in a non-working network connection
on reboot after installation. When LAYER2=1, we already prevent writing
of the HWADDR to the ifcfg file, but when VSWITCH=1, we need to write
ARP=no to the ifcfg file as well.
Make sure to carry over VSWITCH in linuxrc.s390, but also make sure we
don't write it to the final ifcfg file on the target system.
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove unnecessary semi colons in various places
- textw/upgrade_text.py: add a few missing imports
- Fix various missplaced doc strings
- Fix several double imports
- Fix AnacondaKSScript.run: Module 'os' has no 'exists' member
- users.py: Remove double definition of Users.setRootPassword
- yuminstall.py: correct typo reop -> repo
- yuminstall.py: _run: anaconda -> self.anaconda
|
|
|
|
|
| |
On s390x, if an interface is in OSA layer 2 mode, do not write the
HWADDR setting to the ifcfg file.
|
|
|
|
|
|
|
|
|
|
| |
Adding the user-specified hostname to the 127.0.0.1 line is breaking
virt systems, among other things. I'm not entirely sure we need this
functionality anymore (faking the hostname as 127.0.0.1).
This reverts the changes done in
1aa67d5a2cdacd45f92ba15aa9392ba7191a49c7, but looking at the comments
for #506384, you'll see the same complaints as #530343 has are present.
|
|
|
|
|
| |
CONFIG_NETIUCV has been disabled in the kernel, so remove support for
these devices during installation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On s390x, linuxrc.s390 brings up the network completely and
writes an NM compliant /etc/sysconfig/network-scripts/ifcfg-<DEVICE>.
Apparently, loader never hits STEP_IP or writeEnabledNetworkInfo().
The latter would convert LAYER2= and PORTNO= into OPTIONS="".
Since it does not seem to be called, linuxrc.s390 now writes OPTIONS="".
Fixed readIfcfgContents() to not swallow OPTIONS which contains '='.
With this in place, network.py writes a correct ifcfg to /mnt/sysimage.
This patch completes ifcfg production on s390x of the following commits:
25f58fe7c701c453d39d2a9c5c0850eefce07f76
9249e40f42ffbbdcf42cd1caad72e3d622c7a75b
5f0fcf6688d08f83826c2892bb9fc97d6b4d7dd0
81163960a6137d39a5f2082e9f8d9f0a7b2ada57
This patch is intended for both devel and F-12.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Discovered on s390x, but really affects all platforms. I've done test
installs of RHEL-6 on s390x and of rawhide on x86_64 with this patch in
place and 70-persistent-net.rules looks correct on the target system
after installation.
The problem on s390x was we needed to use the KERNELS setting for the
line in the rules file, but on other platforms we don't need that.
Since /lib/udev/write_net_rules is kicked off during installation, copy
/etc/udev/rules.d/70-persistent-net.rules from the installation
environment to the target system. If we don't have that file in the
installation environment, just do what we have been doing (which should
take care of the instances where people are doing kickstart installs
with multiple network lines but onboot is set to no).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the following methods and properties to class Storage which map
through to FSSet methods, modify existing calls to use the method on
class Storage:
turnOnSwap()
mountFilesystems()
umountFilesystems()
parseFSTab()
mkDevRoot()
createSwapFile()
fsFreeSpace()
mtab
mountpoints
migratableDevices
rootDevice
Callers no longer need to pass the Anaconda object to the FSSet methods
directly. The method on Storage takes care of that.
The mtab() method on FSSet is exposed as a property on Storage. The
same is true for fsFreeSpace().
|
|
|
|
|
|
|
|
|
|
| |
(#507084).
The value of NM_CONTROLLED has to change from no to yes to trigger device
activation by updating of ifcfg file, so we need to update just the files of
devices selected by user (instead of all devices). Otherwise, selection of
another device after previously failed selection doesn't work.
Also make writing out of ONBOOT in text mode consistent with gui.
|
|
|
|
|
|
| |
NetworkDevice.get() only takes one argument, iow its not like the
standard get on a dictionary. This patch fixes the assumption that it
is thereby fixing a backtrace when using static ip configuration.
|
|
|
|
|
|
|
|
|
| |
Add a dracutSetupString method to network.py, this can be used to
ask the Network class to get a dracut setup string to setup the interface
needed for a connection to a certain host.
This patch also adds code to booty to use this to get kernel cmdline dracut
setup commands for any NIC's needed to connect to devices needed for /
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make ifcfg configuration files getting parsed properly after update. The used
inotify configuration update mechanism (ifcfg-rh NM plugin) requires 1) writing
of new files out of /etc/sysconfig/network-scripts dir so that it doesn't
trigger parsing of the file too early (before all is written), and more
importantly, 2) removing of the old files before moving the new ones in so that
the new file gets parsed and the respective connection gets re-read and
eventually activated.
Also make sure that only device selected in UI has ONBOOT set to yes
in case of selection of another device after fail.
|
|
|
|
|
|
|
|
|
|
| |
Write out NM_CONTROLLED=no for NICs used for FCoE, note that unlike with
iSCSI we do not blindly write out NM_CONTROLLED=no for all NICs, but just
for the NIC which is used for FCoE.
The iSCSI behaviour is undesirable, but the whole writing of NM_CONTROLLED=no
for iSCSI will go away as soon as NetworkManager is fixed to not down
devices when it takes over control, which should be fixed soon.
|
|
|
|
|
| |
Note: Compared to writing out of our own /etc/hosts which was removed in
bug 491808, we do not write line for host's IP address.
|
| |
|
|
|
|
|
|
|
|
| |
The only value we care about for NM_CONTROLLED is 'no', so change test
to work that way. If performing a livecd install, make sure to carry
over any NM_CONTROLLED settings in the ifcfg-* files on the live CD.
Users with custom live images may have that set, so we should preserve
it.
|
|
|
|
|
|
| |
If doing a LiveCD install, make sure we write out HOSTNAME= in
/etc/sysconfig/network and set it to the value entered in anaconda
rather than localhost.localdomain.
|
|
|
|
|
| |
Not really necessary in the ifcfg files, so avoid writing out this value
in network.py.
|
|
|
|
|
|
|
|
|
|
| |
Remove minihal.py and use NetworkManager to get a list of device names
and their hardware addresses. Still have to talk to hal via D-Bus to
build a description string, but the hal path is given to us by
NetworkManager, so we are sure we are only building a list of interfaces
that NetworkManager knows about and can communicate with.
Also rewrite command-stubs/list-harddrives to not use minihal.
|
|
|
|
|
|
| |
The setup package owns /etc/hosts and NetworkManager manages it once the
system is running, so anaconda no longer needs to write out information
to /etc/hosts during installation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch renames storage.NetworkDevice to storage.NetworkStorageDevice,
as NetworkDevice as classname also is used in network.py .
It also changes NetworkStorageDevice so that it does not inherit from Device,
as it is now intended for use in multiple inheritance together with
StorageDevice (or a derived class) as explained further in the comments
in the code.
Then this patch changes iScsiDiskDevice and NFSDevice to additional inherit
from NetworkStorageDevice (next to what they were already inheriting from.
And last if fixes the code in network.py to properly write NM_CONTROLLED=NO
when / uses a network backed device.
|
|
|
|
|
| |
There's no more isNetdev method, so we'll have to use the type of the object
as a test instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're trying to cover two scenarios with a single if statement:
The scenario pre-install where we're writing out files to the
tmpfs in order to bring up the network.
The scenario post-install where we're writing out files to the
installed system for network on reboot.
We're also trying to preserve any files that may be in the installed
filesystem post-install time. The logic should now handle this.
Signed-off-by: David Cantrell <dcantrell@redhat.com>
|
|
|
|
|
|
|
|
|
| |
This fixes network bringup in anaconda itself where instPath is
still ''. We were finding the pre-written stub config files outside
of /mnt/sysimage and skipping any modifications to them. This
kept NetworkManager from bringing up the device.
Signed-off-by: David Cantrell <dcantrell@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not write the FQDN to the localhost line, only write the short
hostname if it's something other than 'localhost'. Only write the
FQDN line to /etc/hosts if we have an IP address for the host.
Without this patch, users performing media installs who enter an
FQDN in the hostname field end up with their FQDN == 127.0.0.1,
which messes up things, such as sendmail. Writing the short name
is what we really want here.
[rawhide]
|
|
|
|
|
|
|
|
|
|
| |
The vendor-class setting gets written to this file during installation,
but we need to copy the file to the target system to make sure it's
present on reboot. Previously, we wrote this to the ifcfg file for
_something_ that read it, but it doesn't look like anything reads it
from this location anymore (or ever).
[rawhide]
|
|
|
|
|
|
|
|
| |
We have been writing the SEARCH= line to ifcfg files in network.py
for a while, but it only contains the domain we extract from the
FQDN. For users wanting to use the network service over NM, this
presents a problem because the SEARCH line present in the ifcfg
file will always override the information from the DHCP server.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The suggestion for this patch came from OLPC (or someone with an
@laptop.org email address). The user was doing a kickstart install
and adding a local yum repo that provided an RPM of site-specific
configuration files, including ifcfg-DEVICE files. This package
would get installed just fine, but then anaconda drives over the
configuration files after package installation.
If we see any configuration file on the target system during
installation, skip over it and don't write a new one. This
should handle upgrades and kickstart install types like OLPC was
describing.
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you are installing in a KVM guest and pass 'vnc' on the boot line,
getDefaultHostname() in network.py will traceback because anaconda.id
contains nothing in this particular use case. Wrap the offending
line in try/except and fall back on None if we can't pick the hostname
from anaconda.id.network.
For KVM installs, this causes vnc.py to report 'Please connect your
vnc client to IPADDRESS:DISPLAY to begin the install', which is good
enough for me.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The VNC launch code in vnc.py needed an update to work better with
NetworkManager. When collecting the hostname and IP address, it was
assuming the first device in the netdevices list is our active NIC,
which may or may not be true.
Added getActiveNetDevs() in network.py to ask NetworkManager for a
list of all currently configured interfaces. Return a list of
device names. A list seems a bit pointless, but I'd like to have
this in place now for future improvements where we might need to
handle more than one active NIC during installation. After all,
NM can do that.
The message reported by anaconda once VNC is ready will contain the
FQDN:DISPLAY_NUMBER (IP ADDRESS), if it can. If it can't find your
IP address, it leaves that out. If it can't find your hostname, it
also leaves that out.
|
|
|
|
|
|
|
|
|
| |
Fixes a traceback seen where network.py tries to copy /etc/resolv.conf
to /etc/resolv.conf. The original fix was to get DNS working in %post
scripts during kickstart installs, but that fix assumed that when were
in this block, instPath would be something (such as /mnt/sysimage).
Only copy when instPath is some value other than ''.
|
| |
|
| |
|
|
|
|
|
| |
Copy over /etc/resolv.conf to /mnt/sysimage/etc/resolv.conf so that
%post scripts can succeed with DNS lookups.
|
|
|
|
|
|
| |
network.py was still using this directory. Ooops. The bug also
notes that /.dbus appears, but I cannot find anywhere in the
anaconda code where we create /.dbus.
|
|
|
|
|
|
| |
Let network.bringUp() work by calling network.write() with no
parameters. bringUp() is used to bring up networking during
installation.
|
|
|
|
|
| |
Tell NetworkManager not to touch anaconda configured interfaces when / is
on a network based device.
|