Bug 2169517 - net.naming-scheme=rhel9.0/9.1 fails to rename NIC if multiple child adapters are on same PCI bridge
Summary: net.naming-scheme=rhel9.0/9.1 fails to rename NIC if multiple child adapters ...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: systemd
Version: 9.2
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: systemd maint
QA Contact: Frantisek Sumsal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-13 20:10 UTC by Sangam
Modified: 2023-08-16 13:05 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-148526 0 None None None 2023-02-13 20:10:56 UTC

Comment 1 Lukáš Nykrýn 2023-02-20 13:20:40 UTC
Can you please share output of udevadm info -a /sys/class/net/DEVICE_NAME (replace DEVICE_NAME with the actual name) from both rhel8 and rhel9?

Comment 2 Sangam 2023-02-20 15:04:26 UTC
Hello Lukas,

Many thanks for reverting, I have asked customer to share the details, will update the BZ once the information is available.

We do observe different behavior with the naming scheme used in RHEL8.x vs RHEL 9.x, can you please help me understand the behavior?

RHEL8 : Whatever fresh installation of RHEL 8.X version or RHEL 8.X Update to superior minor release, naming-scheme is ALWAYS "rhel-8.0"
-> For example you fresh install RHEL 8.6 -> naming-scheme was "rhel-8.0"
-> For example you fresh install RHEL 8.7 -> naming-scheme was "rhel-8.0"
-> For example you have RHEL 8.5 -> naming-scheme was "rhel-8.0" -> You update this server to RHEL 8.7 -> naming-scheme still "rhel-8.0"

RHEL9 : Naming scheme version correctly applies
-> If you install RHEL 9.0 naming-scheme was "rhel-9.0"
-> If you install RHEL 9.1 naming-scheme was "rhel-9.1"
-> If you update RHEL 9.0 to 9.1 naming-scheme was also update and goes from "rhel-9.0" to "rhel-9.1"

On fresh installations the naming scheme varies between RHEL 8.x and RHEL 9.x as described above.
Minor updated on RHEL 8.x and 9.x also has a difference, I believe this is intentional to not break the naming scheme between minor updates however naming scheme changes as per RHEL minor version on RHEL9.

If you can please share more information on this it would be helpful in sharing the same information with customer.

Comment 6 Sangam 2023-02-20 19:41:27 UTC
Hello Lukas,

Customer has shared the udevadm information from both RHEL9.1/8.7 system, RHEL9.1 fresh installation with naming scheme set to 9.1 fails to rename the device. On RHEL8.7 we have naming scheme by default set to 8.0 (post minor upgrades or fresh installation of RHEL 8.7) which again causes the issue, if we forcefully set the naming scheme to 8.7 then NIC renaming happens based on "ID_NET_NAME_PATH" as described in the BUG description.

Regards
Sangam

Comment 9 David Tardon 2023-03-16 14:01:46 UTC
(In reply to Sangam from comment #2)
> Hello Lukas,
> 
> Many thanks for reverting, I have asked customer to share the details, will
> update the BZ once the information is available.
> 
> We do observe different behavior with the naming scheme used in RHEL8.x vs
> RHEL 9.x, can you please help me understand the behavior?
> 
> RHEL8 : Whatever fresh installation of RHEL 8.X version or RHEL 8.X Update
> to superior minor release, naming-scheme is ALWAYS "rhel-8.0"
> -> For example you fresh install RHEL 8.6 -> naming-scheme was "rhel-8.0"
> -> For example you fresh install RHEL 8.7 -> naming-scheme was "rhel-8.0"
> -> For example you have RHEL 8.5 -> naming-scheme was "rhel-8.0" -> You
> update this server to RHEL 8.7 -> naming-scheme still "rhel-8.0"
> 
> RHEL9 : Naming scheme version correctly applies
> -> If you install RHEL 9.0 naming-scheme was "rhel-9.0"
> -> If you install RHEL 9.1 naming-scheme was "rhel-9.1"
> -> If you update RHEL 9.0 to 9.1 naming-scheme was also update and goes from
> "rhel-9.0" to "rhel-9.1"
> 
> On fresh installations the naming scheme varies between RHEL 8.x and RHEL
> 9.x as described above.
> Minor updated on RHEL 8.x and 9.x also has a difference, I believe this is
> intentional to not break the naming scheme between minor updates however
> naming scheme changes as per RHEL minor version on RHEL9.

The default scheme is supposed to be rhel-9.0. The described behavior is a bug which will be fixed in 9.2. It has no visible effect, fortunately, because there's no difference between the schemes rhel-9.0 and rhel-9.1.

Comment 11 mfiedler 2023-03-23 19:44:20 UTC
I see this is targeted for rhel 9.2. Two questions:
1. high level timeline for the fix in 9.2?
2. any chance this fix could be backported to rhel 8.7?

Comment 13 Michal Sekletar 2023-03-28 08:54:22 UTC
I'd like to have more information about slots -> pci_dev mapping on the affected server. It seems that this information (contents of /sys/bus/pci/slots/) is not present in the latest sos_report. Please ask customer to run this shell one-liner and upload resulting pci_slots file. Thank you!

for i in /sys/bus/pci/slots/*; do echo "$i" ; echo "  $(cat "$i/address")"; done > pci_slots

Comment 17 Shreyas 2023-04-12 08:19:27 UTC
Hello Team,


Customer has provided the following requested information

"for i in /sys/bus/pci/slots/*; do echo "$i" ; echo "  $(cat "$i/address")"; done > pci_slots"

- RHEL 9.1 :
/sys/bus/pci/slots/2
  0000:20:03
/sys/bus/pci/slots/3
  0000:40:01
/sys/bus/pci/slots/5
  0000:80:01
/sys/bus/pci/slots/6
  0000:a0:03
/sys/bus/pci/slots/7
  0000:e0:03


- RHEL 8.7 :
/sys/bus/pci/slots/2
  0000:20:03
/sys/bus/pci/slots/3
  0000:40:01
/sys/bus/pci/slots/5
  0000:80:01
/sys/bus/pci/slots/6
  0000:a0:03
/sys/bus/pci/slots/7
  0000:e0:03

Comment 18 Shreyas 2023-04-12 08:19:51 UTC
Hello Team,


Customer has provided the following requested information

"for i in /sys/bus/pci/slots/*; do echo "$i" ; echo "  $(cat "$i/address")"; done > pci_slots"

- RHEL 9.1 :
/sys/bus/pci/slots/2
  0000:20:03
/sys/bus/pci/slots/3
  0000:40:01
/sys/bus/pci/slots/5
  0000:80:01
/sys/bus/pci/slots/6
  0000:a0:03
/sys/bus/pci/slots/7
  0000:e0:03


- RHEL 8.7 :
/sys/bus/pci/slots/2
  0000:20:03
/sys/bus/pci/slots/3
  0000:40:01
/sys/bus/pci/slots/5
  0000:80:01
/sys/bus/pci/slots/6
  0000:a0:03
/sys/bus/pci/slots/7
  0000:e0:03


Note You need to log in before you can comment on or make changes to this bug.