← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1768953] [NEW] Report client does not handle keystone errors properly

 

Public bug reported:

_create_resource_provider is wrapped by safe_connect which results in a
None return value if keystone/connect exceptions are raised.

On master the result is a TypeError and the rp isn't cached:
      File "nova/scheduler/client/report.py", line 697, in _ensure_resource_provider
        rps_to_refresh or [created_rp])
      File "nova/compute/provider_tree.py", line 268, in populate_from_iterable
        to_add_by_uuid = {pd['uuid']: pd for pd in provider_dicts}
      File "nova/compute/provider_tree.py", line 268, in <dictcomp>
        to_add_by_uuid = {pd['uuid']: pd for pd in provider_dicts}
    TypeError: 'NoneType' object has no attribute '__getitem__'

However on stable/pike _ensure_resource_provider caches the None return
value and never retries the resource provider create. Seen in
https://bugs.launchpad.net/tripleo/+bug/1767076

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1768953

Title:
  Report client does not handle keystone errors  properly

Status in OpenStack Compute (nova):
  New

Bug description:
  _create_resource_provider is wrapped by safe_connect which results in
  a None return value if keystone/connect exceptions are raised.

  On master the result is a TypeError and the rp isn't cached:
        File "nova/scheduler/client/report.py", line 697, in _ensure_resource_provider
          rps_to_refresh or [created_rp])
        File "nova/compute/provider_tree.py", line 268, in populate_from_iterable
          to_add_by_uuid = {pd['uuid']: pd for pd in provider_dicts}
        File "nova/compute/provider_tree.py", line 268, in <dictcomp>
          to_add_by_uuid = {pd['uuid']: pd for pd in provider_dicts}
      TypeError: 'NoneType' object has no attribute '__getitem__'

  However on stable/pike _ensure_resource_provider caches the None
  return value and never retries the resource provider create. Seen in
  https://bugs.launchpad.net/tripleo/+bug/1767076

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