yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #96155
[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