← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1862565] [NEW] placement in neutron_lib could not process keystone exceptions.

 

Public bug reported:

For stein/stable, routed network which enable placement client.


I could not find root cause though, but the current situation looks like this.

- neutron_lib.placement.get_inventory() called.
- since IPV4_RESOURCE_CLASS is not created yet, keystoneauth1 emit NotFound exception.
- (weird) keystoneauth1 does sereilize error response from placement
  - in keystoneauth1/exceptions/http.py, they assume that 'error' string in body, but placement encode response like { 'errors': [...] }.
    - I think placement way is right from the reference (http://specs.openstack.org/openstack/api-wg/guidelines/errors.html) and keystoneauth1 does not correctly follow the spec, but not sure.

- get_inventory() does not change NotFound exception to PlacementResourceProviderNotFound exception since the exception does not have 'details'.
- final exception which user encounter is

2020-02-10 10:00:20.757 24507 DEBUG neutron.services.segments.plugin [-]
### exception argument of type 'NoneType' is not iterable
_update_nova_inventory
/opt/openstack/src/neutron/neutron/services/segments/plugin.py:219


I'm not sure how others use placement api in neutron bacause it occurs every logics.

Thanks

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1862565

Title:
  placement in neutron_lib could not process keystone exceptions.

Status in neutron:
  New

Bug description:
  For stein/stable, routed network which enable placement client.

  
  I could not find root cause though, but the current situation looks like this.

  - neutron_lib.placement.get_inventory() called.
  - since IPV4_RESOURCE_CLASS is not created yet, keystoneauth1 emit NotFound exception.
  - (weird) keystoneauth1 does sereilize error response from placement
    - in keystoneauth1/exceptions/http.py, they assume that 'error' string in body, but placement encode response like { 'errors': [...] }.
      - I think placement way is right from the reference (http://specs.openstack.org/openstack/api-wg/guidelines/errors.html) and keystoneauth1 does not correctly follow the spec, but not sure.

  - get_inventory() does not change NotFound exception to PlacementResourceProviderNotFound exception since the exception does not have 'details'.
  - final exception which user encounter is

  2020-02-10 10:00:20.757 24507 DEBUG neutron.services.segments.plugin
  [-] ### exception argument of type 'NoneType' is not iterable
  _update_nova_inventory
  /opt/openstack/src/neutron/neutron/services/segments/plugin.py:219

  
  I'm not sure how others use placement api in neutron bacause it occurs every logics.

  Thanks

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