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 <[email protected]> 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 <[email protected]> ** 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

