Bug 673238 - anaconda creates incorrect udev 70-persistent-net.rules entry for network device
Summary: anaconda creates incorrect udev 70-persistent-net.rules entry for network device
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 19
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 674685
TreeView+ depends on / blocked
 
Reported: 2011-01-27 19:36 UTC by James Laska
Modified: 2014-01-21 23:04 UTC (History)
16 users (show)

Fixed In Version: anaconda-15.19-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 674685 (view as bug list)
Environment:
Last Closed: 2013-05-12 23:05:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description James Laska 2011-01-27 19:36:16 UTC
Description of problem:

After a fresh @minimal install of rawhide, the udev rules file (/etc/udev/rules.d/70-persistent-net.rules) created by anaconda is incorrect.

Apparently it should have KERNEL=="eth0", instead of KERNEL=="pci2*".  See below for additional details.

Version-Release number of selected component (if applicable):
* anaconda-15.18-1.fc15

How reproducible:
100%

Steps to Reproduce:
1. Boot rawhide boot.iso (see for link https://fedoraproject.org/wiki/Test_Day:2011-01-27_Network_Device_Naming_With_Biosdevname)
2. At the time of this bug, using an updates.img is required (see test day link above)
3. Perform a @minimal install (which currently does *not* install biosdevname)
4. Complete installation.  Before reboot, manually create a dracut initramfs to work around bug#673192
  
Actual results:

After booting into system ... the system is confused by the name of the iface.  It uses eth0 and pci2#1.

For example ...

# ls /sys/class/net/
eth0  lo
^^^^

# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-lo
/etc/sysconfig/network-scripts/ifcfg-pci2#1
                                     ^^^^^^

Expected results:

pci2#1 should be used in all cases


Additional info:

1) Further investigation shows that the package 'biosdevname' is *not* installed
2) Because biosdevname is *not* installed, and because the udev rules (created by anaconda I think) are not correct (so I'm told ... I don't fully understand the rules format) (KERNEL=="pci2#*"), it defaults to eth0.

$ cat /etc/udev/rules.d/70-persistent-net.rules 

# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rule written by anaconda)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:a4:29:75", ATTR{type}=="1", KERNEL=="pci2#*", NAME="pci2#1"
                                                             ^^^^^^^
3) # biosdevname -d
BIOS device: pci2#1
Kernel name: eth0
             ^^^^
Permanant MAC: 52:54:00:A4:29:75
Assigned MAC : 52:54:00:A4:29:75
Driver: 8139cp
Driver version: 1.3
Firmware version: 
Bus Info: 0000:00:03.0
PCI name      : 0000:00:03.0
PCI Slot      : 2
Index in slot: 1

Comment 1 Jon Masters 2011-02-01 20:43:07 UTC
biosdevname does need to be always installed, and needs to be in Kickstart or minimal configs too.

Comment 2 David Cantrell 2011-02-02 14:23:21 UTC
comps needs to add biosdevname to the minimal group.

Comment 3 Bill Nottingham 2011-02-02 19:02:28 UTC
Done, but according to upstream, we shouldn't be writing persistent rules for biosdevname-handled interfaces. Patch forthcoming.

Comment 4 Paul Howarth 2011-02-14 15:03:14 UTC
biosdevname is currently in the buildsys-build group in comps-f15.xml.in; shouldn't it be in the core group?

A side-effect of this is that iputils is in the buildroot for every build (via initscripts, udev and then biosdevname), meaning that I can't use the tmpfs plugin on a Fedora 14 builder with mock (Bug #648653) for Fedora 15/Rawhide builds at all (this was previously possible with most packages that didn't pull in either iputils or policycoreutils to their buildroots via other dependency chains).

Comment 5 Matt Domsch 2011-02-17 21:07:20 UTC
Notting committed change to comps to move it into @core.  Need this in Alpha as the feature is to be enabled by default in F15.

Comment 6 Matt Domsch 2011-02-17 21:13:05 UTC
anaconda is pulling in biosdevname to its environment, though there's no RPM Requires: on it.  Until notting's comps fix lands, the installed system won't have biosdevname automatically installed.  Hence anaconda wrote out persistent-net rules that couldn't be used during subsequent boots.

IMHO, anaconda shouldn't be writing out persistent-net rules, but let udev do that.

Comment 7 Matt Domsch 2011-02-17 21:17:27 UTC
Moving to blocker, as feature is intended to be enabled by default, but isn't w/o this comps change.

Comment 8 Robyn Bergeron 2011-02-18 17:39:13 UTC
Per 2011-02-18 Alpha Blocker Meeting -

#agreed 673238 - Likely not an Alpha blocker, but comps+udev fixes are already 
                included and will be present in RC1

Comment 9 Fedora End Of Life 2013-04-03 20:32:09 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 10 Adam Williamson 2013-05-12 23:05:26 UTC
This was fixed long, long ago. Closing.


Note You need to log in before you can comment on or make changes to this bug.