← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2078434] Re: Creating port with hardware_offload_type attribute set fails with error 500

 

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

commit fbb7c9ae3d672796b72b796c53f89865ea6b3763
Author: Slawek Kaplonski <skaplons@xxxxxxxxxx>
Date:   Fri Aug 30 11:50:55 2024 +0200

    Fix port_hardware_offload_type ML2 extension
    
    This patch fixes 2 issues related to that port_hardware_offload_type
    extension:
    
    1. API extension is now not supported by the ML2 plugin directly so if
       ml2 extension is not loaded Neutron will not report that API
       extension is available,
    2. Fix error 500 when creating port with hardware_offload_type
       attribute set but when binding:profile is not set (is of type
       Sentinel).
    
    Closes-bug: #2078432
    Closes-bug: #2078434
    Change-Id: Ib0038dd39d8d210104ee8a70e4519124f09292da


** 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/2078434

Title:
  Creating port with hardware_offload_type attribute set fails with
  error 500

Status in neutron:
  Fix Released

Bug description:
  Wne port_hardware_offload_type ml2 extension is enabled and port with
  hardware_offload_attribute is created it may fail with error 500 if
  there is no binding:profile field provided (and it is of type
  'Sentinel'). Error is:

  ...
  ERROR neutron.pecan_wsgi.hooks.translation     with excutils.save_and_reraise_exception():                                                                                                                                                                                                                                                                                                    
  ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py", line 227, in __exit__                                                                                                                                                                                                                                           
  ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()                                                                                                                                                                                                                                                                                                                           
  ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py", line 200, in force_reraise                                                                                                                                                                                                                                      
  ERROR neutron.pecan_wsgi.hooks.translation     raise self.value                                                                                                                                                                                                                                                                                                                               
  ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 1132, in _call_on_ext_drivers                                                                                                                                                                                                                                                    
  ERROR neutron.pecan_wsgi.hooks.translation     getattr(driver.obj, method_name)(plugin_context, data, result)                                                                                                                                                                                                                                                                                 
  ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/plugins/ml2/extensions/port_hardware_offload_type.py", line 44, in process_create_port                                                                                                                                                                                                                          
  ERROR neutron.pecan_wsgi.hooks.translation     self._process_create_port(context, data, result)                                                                                                                                                                                                                                                                                               
  ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/port_hardware_offload_type_db.py", line 41, in _process_create_port                                                                                                                                                                                                                                          
  ERROR neutron.pecan_wsgi.hooks.translation     capabilities = pb_profile.get('capabilities', [])                                                                                               
  ERROR neutron.pecan_wsgi.hooks.translation AttributeError: 'Sentinel' object has no attribute 'get

  We are catching there TypeError exception but we should also catch
  AttributeError in the same way.

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



References