← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1828543] [NEW] Routed provider networks: placement API handling errors

 

Public bug reported:

Routed provider networks is a feature which uses placement to store information about segments, the subnets in segments and make possible that nova can use this information in scheduling.
On master the placement API calls are failing, at first at get_inventory call:

May 09 14:15:26 multicont neutron-server[31232]: DEBUG oslo_concurrency.lockutils [-] Lock "notifier-a76cce90-7366-495e-9784-9ddef689bc71" released by "neutron.notifiers.batch_notifier.BatchNotifier.queue_event.<locals>.synced_send" :: held 0.112s {{(pid=31252) inner /usr/local/lib/python3.6/dist-packages/oslo_concurrency/lockutils.py:339}}
May 09 14:15:26 multicont neutron-server[31232]: Traceback (most recent call last):
May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 433, in get_inventory
May 09 14:15:26 multicont neutron-server[31232]:     return self._get(url).json()
May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 178, in _get
May 09 14:15:26 multicont neutron-server[31232]:     **kwargs)
May 09 14:15:26 multicont neutron-server[31232]:   File "/usr/local/lib/python3.6/dist-packages/keystoneauth1/session.py", line 1037, in get
May 09 14:15:26 multicont neutron-server[31232]:     return self.request(url, 'GET', **kwargs)
May 09 14:15:26 multicont neutron-server[31232]:   File "/usr/local/lib/python3.6/dist-packages/keystoneauth1/session.py", line 890, in request
May 09 14:15:26 multicont neutron-server[31232]:     raise exceptions.from_response(resp, method, url)
May 09 14:15:26 multicont neutron-server[31232]: keystoneauth1.exceptions.http.NotFound: Not Found (HTTP 404) (Request-ID: req-4133f4c6-df6c-467f-9d15-e8532fc6504b)
May 09 14:15:26 multicont neutron-server[31232]: During handling of the above exception, another exception occurred:
...
May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron/neutron/services/segments/plugin.py", line 229, in _update_nova_inventory
May 09 14:15:26 multicont neutron-server[31232]:     IPV4_RESOURCE_CLASS)
May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 53, in wrapper
May 09 14:15:26 multicont neutron-server[31232]:     return f(self, *a, **k)
May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 444, in get_inventory
May 09 14:15:26 multicont neutron-server[31232]:     if "No resource provider with uuid" in e.details:
May 09 14:15:26 multicont neutron-server[31232]: TypeError: argument of type 'NoneType' is not iterable

Using stable/pike (not just for neutron) the syncing is OK.
I suppose as the placement client code was moved to neutron-lib and changed to work with placement 1.20 something happened that makes routed networks placement calls failing.

Some details:
Used reproduction steps: https://docs.openstack.org/neutron/latest/admin/config-routed-networks.html (of course the pike one for stable/pike deployment)
neutron: d0e64c61835801ad8fdc707fc123cfd2a65ffdd9
neutron-lib: bcd898220ff53b3fed46cef8c460269dd6af3492
placement: 57026255615679122e6f305dfa3520c012f57ca7
nova: 56fef7c0e74d7512f062c4046def10401df16565
Ubuntu 18.04.2 LTS based multihost devstack

** Affects: neutron
     Importance: Medium
     Assignee: Lajos Katona (lajos-katona)
         Status: New


** Tags: placement segments

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

Title:
  Routed provider networks: placement API handling errors

Status in neutron:
  New

Bug description:
  Routed provider networks is a feature which uses placement to store information about segments, the subnets in segments and make possible that nova can use this information in scheduling.
  On master the placement API calls are failing, at first at get_inventory call:

  May 09 14:15:26 multicont neutron-server[31232]: DEBUG oslo_concurrency.lockutils [-] Lock "notifier-a76cce90-7366-495e-9784-9ddef689bc71" released by "neutron.notifiers.batch_notifier.BatchNotifier.queue_event.<locals>.synced_send" :: held 0.112s {{(pid=31252) inner /usr/local/lib/python3.6/dist-packages/oslo_concurrency/lockutils.py:339}}
  May 09 14:15:26 multicont neutron-server[31232]: Traceback (most recent call last):
  May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 433, in get_inventory
  May 09 14:15:26 multicont neutron-server[31232]:     return self._get(url).json()
  May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 178, in _get
  May 09 14:15:26 multicont neutron-server[31232]:     **kwargs)
  May 09 14:15:26 multicont neutron-server[31232]:   File "/usr/local/lib/python3.6/dist-packages/keystoneauth1/session.py", line 1037, in get
  May 09 14:15:26 multicont neutron-server[31232]:     return self.request(url, 'GET', **kwargs)
  May 09 14:15:26 multicont neutron-server[31232]:   File "/usr/local/lib/python3.6/dist-packages/keystoneauth1/session.py", line 890, in request
  May 09 14:15:26 multicont neutron-server[31232]:     raise exceptions.from_response(resp, method, url)
  May 09 14:15:26 multicont neutron-server[31232]: keystoneauth1.exceptions.http.NotFound: Not Found (HTTP 404) (Request-ID: req-4133f4c6-df6c-467f-9d15-e8532fc6504b)
  May 09 14:15:26 multicont neutron-server[31232]: During handling of the above exception, another exception occurred:
  ...
  May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron/neutron/services/segments/plugin.py", line 229, in _update_nova_inventory
  May 09 14:15:26 multicont neutron-server[31232]:     IPV4_RESOURCE_CLASS)
  May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 53, in wrapper
  May 09 14:15:26 multicont neutron-server[31232]:     return f(self, *a, **k)
  May 09 14:15:26 multicont neutron-server[31232]:   File "/opt/stack/neutron-lib/neutron_lib/placement/client.py", line 444, in get_inventory
  May 09 14:15:26 multicont neutron-server[31232]:     if "No resource provider with uuid" in e.details:
  May 09 14:15:26 multicont neutron-server[31232]: TypeError: argument of type 'NoneType' is not iterable

  Using stable/pike (not just for neutron) the syncing is OK.
  I suppose as the placement client code was moved to neutron-lib and changed to work with placement 1.20 something happened that makes routed networks placement calls failing.

  Some details:
  Used reproduction steps: https://docs.openstack.org/neutron/latest/admin/config-routed-networks.html (of course the pike one for stable/pike deployment)
  neutron: d0e64c61835801ad8fdc707fc123cfd2a65ffdd9
  neutron-lib: bcd898220ff53b3fed46cef8c460269dd6af3492
  placement: 57026255615679122e6f305dfa3520c012f57ca7
  nova: 56fef7c0e74d7512f062c4046def10401df16565
  Ubuntu 18.04.2 LTS based multihost devstack

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


Follow ups