← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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.

** Affects: neutron
     Importance: High
     Assignee: Slawek Kaplonski (slaweq)
         Status: Confirmed

-- 
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:
  Confirmed

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



Follow ups