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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to