Bug 674685

Summary: anaconda creates incorrect udev 70-persistent-net.rules entry for network device
Product: Red Hat Enterprise Linux 6 Reporter: Bill Nottingham <notting>
Component: anacondaAssignee: Martin Sivák <msivak>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: high Docs Contact:
Priority: high    
Version: 6.0CC: anaconda-maint-list, atodorov, borgan, harald, jcm, jlaska, jonathan, rvokal, vanmeeuwen+fedora
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: anaconda-13.21.94-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 673238 Environment:
Last Closed: 2011-05-19 12:37:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 673238    
Bug Blocks:    

Description Bill Nottingham 2011-02-02 21:57:06 UTC
+++ This bug was initially created as a clone of Bug #673238 +++

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

--- Additional comment from jcm on 2011-02-01 15:43:07 EST ---

biosdevname does need to be always installed, and needs to be in Kickstart or minimal configs too.

--- Additional comment from dcantrell on 2011-02-02 09:23:21 EST ---

comps needs to add biosdevname to the minimal group.

--- Additional comment from notting on 2011-02-02 14:02:28 EST ---

Done, but according to upstream, we shouldn't be writing persistent rules for biosdevname-handled interfaces. Patch forthcoming.

Comment 1 David Cantrell 2011-02-03 02:53:18 UTC
Patch is already on the list for this:

https://www.redhat.com/archives/anaconda-devel-list/2011-February/msg00002.html

Comment 2 RHEL Program Management 2011-02-03 03:10:18 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.

Comment 5 Alexander Todorov 2011-03-09 13:04:23 UTC
With the 0308.n.1 tree biosdevname wasn't installed with the minimal group. "eth" was used to identify the device name and the 70-persistent-net.rules was not generated by anaconda and was correct.

Comment 6 errata-xmlrpc 2011-05-19 12:37:29 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0530.html