| Summary: | renames existing devices that already have configuration | |||
|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Bill Nottingham <notting> | |
| Component: | biosdevname | Assignee: | jordan hargrave <jordan_hargrave> | |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | low | |||
| Version: | rawhide | CC: | harald, john_hull, jordan_hargrave, linux-bugs, matt_domsch, mebrown, narendra_k, rvokal, shyam_iyer | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 672663 (view as bug list) | Environment: | ||
| Last Closed: | 2011-01-25 21:10:01 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Bug Depends On: | ||||
| Bug Blocks: | 501533, 672663 | |||
I think this is a bug in the biosdevname.rules file. The current rules skip over invoking biosdevname under these conditions: SUBSYSTEM!="net", GOTO="netdevicename_end" KERNEL!="eth*", GOTO="netdevicename_end" ACTION!="add", GOTO="netdevicename_end" I think we need to add: NAME=="*", GOTO="netdevicename_end" such that if another rule sets NAME, we don't invoke biosdevname. I thought that's what was already happening, but somehow I missed including it. That should be: NAME=="?*", GOTO="netdevicename_end" There's one side case that's not handled here - imagine an image-based deployment where the targeted machines only have a single type of ethernet (or a single ethernet device). An image for this system would likely include interface configuration files that don't specify a hardware address (and therefore don't do specific mappings), but do specify a device name. Introduction of biosdevname into this scenario could/would break things. That does, of course, assume they include biosdevname in their package set, which wouldn't happen on upgrade. Completely random aside - the biosdevname rules, as system udev files, go in /lib/udev/rules.d, not /etc. The suggested fix does solve the issue for me. Thanks for the test Bill. I've committed that change upstream. I'm adding in packaging dump_pirq, so we can debug if necessary. I'll move the rules to /lib/udev/rules.d also. Odd, RHEL5 doesn't seem to have that directory... RHEL 5 has frighteningly old udev, alas. Build 0.3.6 for F15. Task Info: http://koji.fedoraproject.org/koji/taskinfo?taskID=2742285 Build Info: http://koji.fedoraproject.org/koji/buildinfo?buildID=215600 |
Description of problem: /etc/sysconfig/network-scripts/ifcfg-eth0: # Network Interface DEVICE=eth0 BOOTPROTO=dhcp DEFROUTE=yes IPV6INIT=no ONBOOT=yes TYPE=Ethernet UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 USERCTL=no IPV4_FAILURE_FATAL=yes NAME="System eth0" HWADDR=00:26:2D:F4:FC:06 PEERDNS=yes PEERROUTES=yes /etc/udev/rules.d/70-persistent-net.rules: # PCI device 0x8086:0x10ea (e1000e) (custom name provided by external tool) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:2d:f4:fc:06", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" However, after booting: 2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:26:2d:f4:fc:06 brd ff:ff:ff:ff:ff:ff inet 10.11.231.95/22 brd 10.11.231.255 scope global em1 (NM coped with the device being different, but...) Version-Release number of selected component (if applicable): biosdevname-0.3.4-1.fc15.x86_64 udev-164-6.fc15.x86_64 How reproducible: 100%, presumably. Just noticed now. Steps to Reproduce: 1. ifconfig eth0 2. Hey, where'd my eth0 go?