This bug has been migrated to another issue tracking site. It has been closed here and may no longer be being monitored.

If you would like to get updates for this issue, or to participate in it, you may do so at Red Hat Issue Tracker .
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2088782 - New Dsv5-series /Ev5-series virtual machines on Azure portal with accelerated networking creating duplicate interface for Satellite clients when uses custom rhsm or puppet facts.
Summary: New Dsv5-series /Ev5-series virtual machines on Azure portal with accelerated...
Keywords:
Status: CLOSED MIGRATED
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Fact
Version: 6.10.6
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: Unspecified
Assignee: Ewoud Kohl van Wijngaarden
QA Contact: Satellite QE Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-20 16:32 UTC by Gourav Padholia
Modified: 2024-10-05 04:25 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-06-06 12:22:48 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 36548 0 Normal Ready For Testing Facts with multiple interfaces sharing the same MAC addresses crashes the fact parser 2023-06-29 11:42:19 UTC
Red Hat Issue Tracker   SAT-18703 0 None Migrated None 2024-06-06 12:48:29 UTC

Description Gourav Padholia 2022-05-20 16:32:02 UTC
Description of problem:
New Dsv5-series /Ev5-series virtual machines on Azure portal with accelerated networking creating a duplicate interface for Satellite clients when using custom rhsm or puppet facts. 

Version-Release number of selected component (if applicable):
Satellite 6.10
Azure series 5 VM

How reproducible:
Customer Environment 

Steps to Reproduce:
1. Create a virtual machine with the latest version 5(d2s_v5 or ev5) with accelerated networking and create custom puppet or rhsm network facts.
2. On this VM kernel command line parameter 'net.ifnames=0’ is set. 
3. Registering this VM to the Satellite server creates a master and slave interface of the same name i.e. eth1.

Actual results:
There should not be a duplicate interface for the VM. It should show the interface i.e. eth0 and eth1.

Expected results:
Showing duplicate interface for the host.
# hammer host  interface list --host=client.example.com
----|------------|-------------------------------------------|-------------------|------------|-------------------------
ID  | IDENTIFIER | TYPE                                      | MAC ADDRESS       | IP ADDRESS | DNS NAME
----|------------|-------------------------------------------|-------------------|------------|-------------------------
100 | eth1       | interface (primary, provision, execution) | 00:0d:xx:xx:xx:xx |            | client.example.com
101 | eth1       | interface  

Additional info:

Comment 6 Ewoud Kohl van Wijngaarden 2022-12-16 13:19:12 UTC
I don't think this is easy to properly resolve. There were some private comments with full details, but we can summarize that by saying that there are two NICs (eth0 & eth1) with the same MAC address. Foreman gets confused by that since it has always identified a NIC by MAC.

Facter doesn't provide anything about the link type so we lack the information needed to make smart choices. And even if Facter does implement it, we also need others like RHSM to do the same.

My short term solution is to detect the conflict: if there are multiple NICs with the same MAC address then refuse to import NIC information. This wouldn't provide any control, but it at least prevents a known bad situation.

Regarding notifying the user: it's an automated process, so the best you can do is to log a warning in the production log (/var/log/foreman/production.log by default). We have no mechanism now to signal the user "this host has potential issues". The global notification system is not suited to this since you would either log a message for each host every time a report comes in (usually every 30 minutes with Puppet) and overload the user or only notify once which the user will forget.

Comment 8 Peter Vreman 2023-01-05 15:22:12 UTC
I understand that it is hard for satellite to distuinishg this situation when the provided facts from the various source systems (rhsm, puppet, ansinble) are lacking the additional interface information like if it is a slave. And to get this informatation added in all facts source systems (rhsm,puppet,ansbible) and an official release available then we are easily 2-years later.

For this reason i already proposed in the case if an alternative is possible:
Is it possible to have a udev rule for the special vif slave interface to rename it to a special name like 'envifXX' and then in satellite the 'envif*' can be added to the interface ignore list.

Comment 9 Ewoud Kohl van Wijngaarden 2023-06-29 11:42:20 UTC
I think an udev rule could certainly be a valid workaround, but it's not something that we can easily provide to all customers. I've written a simple proof of concept that I have yet to test. https://github.com/theforeman/foreman/pull/9761 aims to solve it for all fact sources by handling it in the base fact parser class. I'll see if I can verify that concept works.

Comment 10 Bryan Kearney 2023-06-29 12:02:14 UTC
Upstream bug assigned to ekohlvan

Comment 11 Bryan Kearney 2023-06-29 12:02:17 UTC
Upstream bug assigned to ekohlvan

Comment 12 Peter Vreman 2024-06-05 09:58:03 UTC
For the moment i have an unoffocial udev rule workaorund in place to rename the VF interface to 'envfX'. I have chosen to use the 'envfX' because it already matched an existing 'en*v*' pattern in Satellite ignore interface patterns list and with that worked out-of-the-box of Satellite.

I created the udev rule based on/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules

~~~
$ sudo cat /etc/udev/rules.d/68-azure-sriov-rename-to-envf.rules
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add|change|move", NAME="envf$env{IFINDEX}"

[Azure] root@li-lc-2439 ~
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:bb:69:46 brd ff:ff:ff:ff:ff:ff
    inet 10.208.0.119/23 brd 10.208.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
3: envf3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master eth0 state UP group default qlen 1000
    link/ether 00:0d:3a:bb:69:46 brd ff:ff:ff:ff:ff:ff
    altname enP36852p0s2

[Azure] root@li-lc-2439 ~
$ sudo dmesg | grep -i env
[    6.436299] mlx5_core 8ff4:00:02.0 envf3: renamed from enP36852s1
[    8.531046] mlx5_core 8ff4:00:02.0 envf3: Link up
[    8.569052] hv_netvsc 000d3abb-6946-000d-3abb-6946000d3abb eth0: Data path switched to VF: envf3
~~~


Can you please check from RedHat side for an official solution for Dv5/AcceleratedNetworking support, maybe the above code to rename to envfX can be made also generic available if it does not cause other disruptions. At least using envfX instead of the enPxsx is for me much more easy to understand, especially that enPxsx is an real interface port name on physical servers

Comment 13 Eric Helms 2024-06-06 12:22:48 UTC
This BZ has been automatically migrated to the issues.redhat.com Red Hat Issue Tracker. All future work related to this report will be managed there.

Due to differences in account names between systems, some fields were not replicated.  Be sure to add yourself to Jira issue's "Watchers" field to continue receiving updates and add others to the "Need Info From" field to continue requesting information.

To find the migrated issue, look in the "Links" section for a direct link to the new issue location. The issue key will have an icon of 2 footprints next to it, and begin with "SAT-" followed by an integer.  You can also find this issue by visiting https://issues.redhat.com/issues/?jql= and searching the "Bugzilla Bug" field for this BZ's number, e.g. a search like:

"Bugzilla Bug" = 1234567

In the event you have trouble locating or viewing this issue, you can file an issue by sending mail to rh-issues. You can also visit https://access.redhat.com/articles/7032570 for general account information.

Comment 14 Peter Vreman 2024-06-06 12:48:29 UTC
I had to provide comments on this BZ because on the Jira issues i am unable to provide comments. If BZ is not going to be used then please also allow user/requester to post comments on the issue.

Comment 15 Red Hat Bugzilla 2024-10-05 04:25:23 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days


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