Bug 2227875 - nmstate persist-nic-names uses bond mac for subordinate instead of permanent HW addr
Summary: nmstate persist-nic-names uses bond mac for subordinate instead of permanent ...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: nmstate
Version: 9.2
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: NetworkManager Development Team
QA Contact: Mingyu Shi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-31 18:19 UTC by Curtis Taylor
Modified: 2023-08-17 09:33 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 NMT-694 0 None None None 2023-07-31 18:21:38 UTC
Red Hat Issue Tracker RHELPLAN-163925 0 None None None 2023-07-31 18:21:50 UTC

Description Curtis Taylor 2023-07-31 18:19:57 UTC
Description of problem:
nmstatectl's new persist-nic-names tool (https://github.com/nmstate/nmstate/pull/2301/commits/45a382e2723749c8955fa208cb7e40620fb80d45#diff-037c6f719babb7a702deb8727cf5b1e6f4db57014a1e2d7808ad02b0e11f5b70R101-R109) uses bond's MAC instead of NIC's permanent hw address when creating link for subordinates, resulting in link files containing the wrong MAC address.

e.g.

nmstatectl::persist_nic] Persisting the interface with MAC B8:3F:D2:86:13:D0 to interface name eno34
nmstatectl::persist_nic] Persisting the interface with MAC B8:3F:D2:86:13:D0 to interface name eno34
nmstatectl::persist_nic] Persisting the interface with MAC B8:3F:D2:86:13:D0 to interface name eno33
nmstatectl::persist_nic] Persisting the interface with MAC B8:3F:D2:86:13:D0 to interface name eno33

Even when yaml contains:

apiVersion: agent-install.openshift.io/v1beta1
kind: NMStateConfig
metadata:
  labels:
    infraenvs.agent-install.openshift.io: lab-stable-spoke1-dc-iad2
    agent-install.openshift.io/bmh: node06
    clustername: lab-stable-spoke1-dc-iad2
  name: node06
  namespace: lab-stable-spoke1-dc-iad2
spec:
  config:
    interfaces:
    - ipv4:
        auto-dns: true
        auto-gateway: true
        auto-routes: true
        enabled: true
        dhcp: true
      link-aggregation:
        mode: 802.3ad
        options:
          miimon: "100"
        port:
        - eno33
        - eno34
      name: bond0
      state: up
      type: bond
      mtu: 9000
  interfaces:
  - macAddress: B8:3F:D2:86:13:D0
    name: eno33
  - macAddress: B8:3F:D2:86:13:D1
    name: eno34


Version-Release number of selected component (if applicable):
NetworkManager-libnm-1.42.2-3.el9_2.x86_64                  Fri Jul 14 00:16:28 2023


Actual results:
eno34 becomes eno34np1 instead of eno34:

etc/systemd/network/98-nmstate-eno33.link
  # Generated by nmstate
  [Match]
  MACAddress=B8:3F:D2:86:13:D0
  
  [Link]
  Name=eno33

etc/systemd/network/98-nmstate-eno34.link
  # Generated by nmstate
  [Match]
  MACAddress=B8:3F:D2:86:13:D0
  
  [Link]
  Name=eno34


Expected results:
 
eno34 not eno34np1

etc/systemd/network/98-nmstate-eno34.link
  # Generated by nmstate
  [Match]
  MACAddress=B8:3F:D2:86:13:D1 ##<<<---- permanent HW address
  
  [Link]
  Name=eno34

Additional info:


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