← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2116087] Re: remote-managed vnic-type binding profile validation error

 

Reviewed:  https://review.opendev.org/c/openstack/neutron/+/954292
Committed: https://opendev.org/openstack/neutron/commit/1e01e6a7130a570092e6b7324b7f9d051a34735d
Submitter: "Zuul (22348)"
Branch:    master

commit 1e01e6a7130a570092e6b7324b7f9d051a34735d
Author: Frode Nordahl <fnordahl@xxxxxxxxxx>
Date:   Mon Jul 7 18:35:20 2025 +0000

    [OVN] Fix remote-managed binding profile validation
    
    When binding profile parameter validation was extended in
    change I8493cba28e92b9b36bdb952c9737c0fea6fb7b75, a subtle bug
    was introduced.
    
    Namely, if a binding profile specification specified ``None`` for
    expected capability, the code would literally look for an instance
    of ``None`` in the list of capabilities, as can be read from the
    documentation [0] this was not the intended behavior.
    
    Update unit tests that asserted the incorrect behavior.
    
    Add new unit test specifically for the case of a remote-managed
    vnic that also has extra capabilities.
    
    0: https://opendev.org/openstack/neutron/src/commit/71962255dee06d75258984b39d3a5c6c6293534d/neutron/common/ovn/constants.py#L340-L353
    Closes-Bug: #2116087
    Change-Id: I69d49cd3737b3bee8c8b4221149085375e9ac1e2
    Signed-off-by: Frode Nordahl <fnordahl@xxxxxxxxxx>


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2116087

Title:
  remote-managed vnic-type binding profile validation error

Status in neutron:
  Fix Released

Bug description:
  When using the remote-managed workflow [0], Neutron fails to bind the
  port when surplus capabilities are present.

  It appears that more recent hardware, such as the NVIDIA BlueField-3
  DPU, exposes these capabilities in a different way than the hardware
  used during original development.

  Symptom:
  WARNING neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver Refusing to bind port 36581579-67f7-4a96-836a-ef864d850efa due to no OVN chassis for host: X

  The input port looks like this:
  {'admin_state_up': True,
   'allowed_address_pairs': [],
   'binding:host_id': 'XXX',
   'binding:profile': {'capabilities': ['rx',
                                        'tx',
                                        'sg',
                                        'tso',
                                        'gso',
                                        'gro',
                                        'rxvlan',
                                        'txvlan',
                                        'rxhash',
                                        'rdma',
                                        'txudptnl'],
                       'card_serial_number': '52TF43G01CW',
                       'pci_slot': '0000:41:10.0',
                       'pci_vendor_info': '15b3:101e',
                       'pf_mac_address': '58:a2:e1:f9:4f:72',
                       'physical_network': 'physnet1',
                       'vf_num': 126},
   'binding:vnic_type': 'remote-managed',
  ...}

  The result from validate_and_get_data_from_binding_profile() is unexpectedly:
  BPInfo(
      bp_param={},
      vnic_type='remote-managed',
      capabilities=['rx', 'tx', 'sg', 'tso', 'gso', 'gro', 'rxvlan', 'txvlan', 'rxhash', 'rdma', 'txudptnl'])

  So we likely need to expand the validation code to accept additional
  capabilities being present for remote-managed VNICs.

  0:
  https://docs.openstack.org/neutron/latest/admin/ovn/smartnic_dpu.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2116087/+subscriptions



References