Issue bnc#787296.
Some discussion at github.
Udev rules used to be written at the end of stage1.
- Original idea was to fix bnc#303916 - interface name change between stage1 and stage2. The fix introduced net-udev section and allowed user to rename interfaces during the installation process.
- Users started to use net-udev section for renaming interfaces in target system. However the implementation lead to bug bnc#578760 as a direct consequence of above fix. Implemented fix for this bug was "search new interface name according its MAC".
- Eventually, bug bnc#787296 has roots in both fixes [1], [2]. Firstly, it fails in searching new device name (see [2]). Secondly, it fails due to the fact that udev rules are written at the end of stage1 (see [1]) - it is wrong because when network service is disabled during installation then installer do not call save_network, so no udev rules are written.
move renaming interfaces according user's profile to stage2. Fix for [1] was redesigned and uses MAC based udev rules, but without user supplied interface name. Udev rules based on user's profile are written during stage1.
- AutoYaST profile without net configuration.
- AutoYaST profile with basic interface configuration.
- AutoYaST profile with interface configuration including renaming interface. Renaming is ID based.
mount /dev/sda2 /mnt
wget http://idontknow.suse.cz/install/net.rpm
rpm --root /mnt -Uv net.rpm --nodeps --ignorearch
Virtual machine with 2 NICs, installation over eth0 (renamed one)
Source | v.2.17.181 (new) | v.2.17.171 (old) | |
---|---|---|---|
Scenario 1 | DVD | udev after stage1 udev after stage2 sysconfig |
|
PXE | |||
Scenario 2 | DVD | udev after stage1 udev after stage2 sysconfig ifcfg-eth0 |
udev after stage1 udev after stage2 sysconfig ifcfg-eth0 |
PXE | |||
Scenario 3 | DVD | udev after stage1 udev after stage2 sysconfig ifcfg-eth99 |
udev after stage1 udev after stage2 sysconfig ifcfg-eth99 |
PXE | udev after stage1 udev after stage2 sysconfig ifcfg-eth99 |
NOTE:Not so obvious part of buggy case scenario 3 / DVD source / v2.17.171 - it is impossible to finish using ssh install. Interface will not be available at the beginning of stage 2.
TODO: Virtual machine with 2 NICs, installation over eth1 (eth0 present, but no net access)
TODO: Virtual machine with 2 NICs, installation over eth0, both NICs swap their MAC between stage1 and 2 (emulate differend order of interface detection)
Control flow during installation could be simplified due to removing couple of lines of code.