Comment 7 for bug 1578141

Revision history for this message
Dr. Jens Harbott (j-harbott) wrote :

@Martin: Fixing the installed system is easy, the bad case happens when the installer sets up the system with "rename2" as the first interface, making access via console necessary in order to recover.

root@compute-node37:~# SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_id /sys/class/net/eno1
calling: test-builtin
=== trie on-disk ===
tool version: 229
file size: 6841778 bytes
header size 80 bytes
strings 1755242 bytes
nodes 5086456 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/lib/systemd/network' changed
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /lib/systemd/network/90-mac-for-usb.link
Created link configuration context.
ID_NET_NAME_MAC=enx002590d8975a
ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
ID_NET_NAME_ONBOARD=eno1
ID_NET_NAME_PATH=enp7s0f0
Unload module index
Unloaded link configuration context.
root@compute-node37:~# SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_id /sys/class/net/rename3
calling: test-builtin
=== trie on-disk ===
tool version: 229
file size: 6841778 bytes
header size 80 bytes
strings 1755242 bytes
nodes 5086456 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/lib/systemd/network' changed
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /lib/systemd/network/90-mac-for-usb.link
Created link configuration context.
ID_NET_NAME_MAC=enx002590d8975b
ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
ID_NET_NAME_ONBOARD=eno1
ID_NET_NAME_PATH=enp7s0f1
Unload module index
Unloaded link configuration context.

Also note that the whole renaming process seems to come from an Ubuntu specific patch in Revert-udev-network-device-renaming-immediately-give.patch, IIUC plain systemd would fail the renaming process and end up with either (eno1, eth1) or (eth0, eno1) as interface tuples.

If there was a way to get rid of the race condition and make sure that the system always ends up with the same tuple, that would already be a large step forward.