Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-86035

nmstate fails with OVS bonds: Bug:Failed to extract interface name and type from connection NmConnection

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • nmstate-2.2.44-1.el10
    • Yes
    • Critical
    • ZStream
    • rhel-sst-network-management
    • rhel-sst-network-management
    • ssg_networking
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Approved Blocker
    • Hide

      Definition of Done:

      Please mark each item below with ( / ) if completed or ( x ) if incomplete:

      ( ) The acceptance criteria defined below are met.

      None


      ( ) Code changes are included in a downstream build attached to an errata.


      ( ) All required testing (manual and/or automated) passes successfully.


      ( ) Related documentation updates (if applicable) have been completed.


      ( ) All necessary backports to the related RHEL streams (linked as 'relates' in this issue) have been completed and verified.

      Show
      Definition of Done: Please mark each item below with ( / ) if completed or ( x ) if incomplete: ( ) The acceptance criteria defined below are met. None ( ) Code changes are included in a downstream build attached to an errata. ( ) All required testing (manual and/or automated) passes successfully. ( ) Related documentation updates (if applicable) have been completed. ( ) All necessary backports to the related RHEL streams (linked as 'relates' in this issue) have been completed and verified.
    • Pass
    • Automated
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      nmstate 2.2.40
      Openshift 4.16.0-0.nightly-2025-04-01-203350

      [2025-04-02T13:26:30Z INFO  nmstate::nm::query_apply::profile] Reapply operation failed on 802-3-ethernet  f867f6db-0b83-40cf-ac29-00c8fceefd29, reason: Bug:Failed to extract interface name and type from connection NmConnection { connection: Some(NmSettingConnection { id: Some("ethernet-enx30d0425666c9-8544"), uuid: Some("f867f6db-0b83-40cf-ac29-00c8fceefd29"), iface_type: Some(Ethernet), iface_name: None,
      
       controller: Some("bond0"), controller_type: Some(OvsPort), autoconnect: Some(true), autoconnect_ports: None, lldp: None, mptcp_flags: None, multi_connect: None, _other: {"permissions": OwnedValue(Array(Array { elements: [], signature: Array(Dynamic { child: Str }) })), "timestamp": OwnedValue(U64(1743599203))} }), bond: None, bond_port: None, bridge: None, bridge_port: None, ipv4: None, ipv6: None, ovs_bridge: None, ovs_port: None, ovs_iface: None, ovs_ext_ids: None, ovs_other_config: None, ovs_patch: None, ovs_dpdk: None, wired: Some(NmSettingWired { cloned_mac_address: None, mac_address: Some("30:D0:42:56:66:C9"), mtu: None, accept_all_mac_addresses: None, speed: None, duplex: None, auto_negotiate: Some(false), _other: {"mac-address-blacklist": OwnedValue(Array(Array { elements: [], signature: Array(Dynamic { child: Str }) })), "s390-options": OwnedValue(Dict(Dict { map: {}, signature: Dict { key: Dynamic { child: Str }, value: Dynamic { child: Str } } }))} }), vlan: None, vxlan: None, mac_vlan: None, sriov: None, vrf: None, veth: None, ieee8021x: None, user: Some(NmSettingUser { data: Some({"nmstate.interface.description": "primary"}), _other: {} }), ethtool: None, infiniband: None, loopback: None, macsec: None, hsr: None, vpn: None, ipvlan: None, obj_path: "/org/freedesktop/NetworkManager/Settings/3", flags: [], _other: {"proxy": {}} }, retry on normal activation
      [2025-04-02T13:26:30Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 274e0198-2943-474f-b56f-770f27761011: /802-3-ethernet
      [2025-04-02T13:26:30Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 274e0198-2943-474f-b56f-770f27761011: /802-3-ethernet
      
      
      ```
      apiVersion: nmstate.io/v1
      kind: NodeNetworkConfigurationPolicy
      metadata:
        name: slb
      spec:
        capture:
          primary-nic: interfaces.description == "primary"
          secondary-nic: interfaces.description == "secondary"
        desiredState:
          interfaces:
          - name: brcnv
            type: ovs-interface
            state: up
            mac-address: "{{ capture.primary-nic.interfaces.0.mac-address }}"
            ipv4:
              enabled: true
              dhcp: true
          - name: brcnv
            type: ovs-bridge
            state: up
            bridge:
              options:
                stp: false
                mcast-snooping-enable: false
                rstp: false
              port:
              - name: bond0
                link-aggregation:
                  mode: balance-slb
                  port:
                  - name: "{{ capture.primary-nic.interfaces.0.name }}"
                  - name: "{{ capture.secondary-nic.interfaces.0.name }}"
              - name: brcnv
      

      and the desiredstate:

          desiredState:
            interfaces:
            - ipv4:
                dhcp: true
                enabled: true
              mac-address: 30:D0:42:56:66:C9
              name: brcnv
              state: up
              type: ovs-interface
            - bridge:
                options:
                  mcast-snooping-enable: false
                  rstp: false
                  stp: false
                port:
                - link-aggregation:
                    mode: balance-slb
                    port:
                    - name: enx30d0425666c9
                    - name: enx30d0425666ca
                  name: bond0
                - name: brcnv
              name: brcnv
              state: up
              type: ovs-bridge
      
      

      This is from customer deployed code. It work on OCP 4.14 so this is a major cluster breaking regression.

      This nmstate last worked in 2.2.33

      It looks like https://github.com/nmstate/nmstate/commit/19e60c17 changed this code sometime between 2.2.33 and 2.2.40

              fge@redhat.com Gris Ge
              rbrattai@redhat.com Ross Brattain
              Network Management Team Network Management Team
              Mingyu Shi Mingyu Shi
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated: