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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to