Bug 2182769 - [RFE] Implement support for "NIC name pinning"
Summary: [RFE] Implement support for "NIC name pinning"
Keywords:
Status: VERIFIED
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: nmstate
Version: 9.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Gris Ge
QA Contact: Mingyu Shi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-03-29 15:02 UTC by Colin Walters
Modified: 2023-08-07 09:27 UTC (History)
7 users (show)

Fixed In Version: nmstate-2.2.10-2.el9
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Feature Request
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github nmstate nmstate pull 2301 0 None Draft Pin nic command2 2023-03-30 21:20:44 UTC
Github nmstate nmstate pull 2306 0 None open cli: Support clean up for `persist-nic-names` command 2023-04-11 12:58:10 UTC
Red Hat Issue Tracker NMT-448 0 None None None 2023-03-29 15:17:37 UTC
Red Hat Issue Tracker RHELPLAN-153428 0 None None None 2023-03-29 15:17:41 UTC

Description Colin Walters 2023-03-29 15:02:19 UTC
Current discussion around https://issues.redhat.com/browse/OCPBUGS-10787 is leaning to shipping at least PoC code in nmstate.

Something of the form:

nmstatectl pin-nic-names 

Possibly with options like --active-only (or --ignore-inactive) or `--include-only-glob=enp*` etc.

Filing this to track work on this from the nmstate side.

Comment 3 Gris Ge 2023-04-11 12:58:11 UTC
Patch send to upstream: https://github.com/nmstate/nmstate/pull/2306

The whole workflow:

 * Use `nmstatectl persist-nic-names` to pin __every__ ethernet interface to its
   MAC via systemd .link file.
 * After boot into new environment, `nmstatectl persist-nic-names --cleanup`
   will remove un-required systemd .link file.

Key tech point:

    Use `udevadm test-builtin net_id /sys/class/net/<iface_name>` to check
    systemd preferred interface name and compare to current interface
    name.

Tested:
 * CentOS stream 9 VM by renaming a existing interface to new name.

 * RHEL 8.8 and CentOS stream 9 on Mellanox MT27710:
    * Not from upgrade, just reinstall CentOS stream 9 and restored the
      nmstate created .link files.


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