-
Story
-
Resolution: Unresolved
-
Undefined
-
rhel-8.10.z
-
leapp-repository-0.21.0-4.el8_10
-
None
-
1
-
rhel-sst-upgrades
-
12
-
6
-
False
-
-
None
-
Red Hat Enterprise Linux
-
Leapp: 9.6 & 10.0
-
None
Goal
When we are upgrading from rhel8 to rhel9, the name of NIC can change due to two reasons:
A) udev changed the way how the name is composed
B) kernel added a new attribute in /sys/class/net/CARD
Previously in LEAPP we solved this by writing .link files that directly bonded the old name from rhel8 to a specific mac address and we have not used names generated by udev.
But now in udev we are versioning the changes, so you can get to old behavior and we have also added a possibility to allowlist sysfs attributes that can be read by udev. This means together with a database of kernel changes the new udev can mimick the behavior of a version from an older release.
All you need to do is to install rhel-net-naming-sysattrs rpm package and set net.naming-scheme on kernel cmdline - if not set yet, (for example for update from 8.10 to 9.4, you need to set net.naming-scheme=rhel-8.10rhel-8.0 – see the update note )
The RPM and kernel cmdline option needs to be present both in update initrd and in the updated system. With that you can drop the generation of link files. In the case that the link files are still present they will take the priority.
For detail information please see
https://issues.redhat.com/browse/RHELBU-2374 and man systemd.net-naming-scheme
Please reach either to me lnykryn@redhat.com or mschmidt@redhat.com . Michal can also probably provide some contacts for kernel QE that should have machines suitable for testing.
pstodulk notes:
- We will want to keep for a while probably the old solution too (RHEL 7 will not be completely dead immediately), from that point, I expect to deactivate the original solution for IPU from RHEL 8.8+ and introduce something like LEAPP_NICS_RENAMING_FALLBACK envar where in case of some unexpected issues we would have a way to let people do it as they originally wanted
- We need to discuss behaviour of LEAPP_NO_NETWORK_RENAMING=1 - whether we want to keep our hands of from any network handling when it's used or whether it becomes deprecated and used only in combination with LEAPP_NICS_RENAMING_FALLBACK=1.
- The solution does not cover third-party network drivers. That's not a big problem as handling of third-party functionality is on customer and it is not supported by RH.
UPDATE NOTE:
- When the net.naming-scheme is not set on the source system, the default is used - which is rhel-X.0 (e.g. rhel-8.0). So in such a case, set the net naming schema to the rhel-X.0 (where X is major version of the source system) to ensure that nothing changes. See the discussion in comments
- When the net.naming-scheme is set on the source system, respect it.
- is cloned by
-
RHEL-74265 Persistent NIC naming: instead of generating .link files set net.naming-scheme= [rhel-9]
-
- Planning
-
- is depended on by
-
RHEL-53843 net.ifnames=0 is added automatically during the upgrade
-
- Closed
-
- is related to
-
RHEL-14592 LEAPP does not record network device mac address properly when they are controlled by a network bond
-
- Planning
-
- links to
-
RHBA-2024:143569 leapp-repository update