← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1857139] [NEW] TypeError: object of type 'object' has no len() from resources_from_request_spec when cells are down

 

Public bug reported:

Seen here:

https://zuul.opendev.org/t/openstack/build/c187e207bc1c48a0a7fa49ef9798b696/log/logs/screen-n-sch.txt.gz#2529

cell1 is down so the call to scatter_gather_cells in
get_compute_nodes_by_host_or_node yields a result but it's not a
ComputeNodeList, it's the did_not_respond_sentinel object:

https://github.com/openstack/nova/blob/02019d2660dfce3facdd64ecdb2bd60ba4a91c6d/nova/scheduler/host_manager.py#L705

https://github.com/openstack/nova/blob/02019d2660dfce3facdd64ecdb2bd60ba4a91c6d/nova/context.py#L454

which results in an error here:

https://github.com/openstack/nova/blob/02019d2660dfce3facdd64ecdb2bd60ba4a91c6d/nova/scheduler/utils.py#L612

The HostManager.get_compute_nodes_by_host_or_node method should filter
out fail/timeout results from the scatter_gather_cells results. We'll
get a NoValidHost either way but this is better than the traceback with
the TypeError in it.

** Affects: nova
     Importance: Low
     Assignee: Matt Riedemann (mriedem)
         Status: Triaged

** Affects: nova/train
     Importance: Undecided
         Status: New


** Tags: scheduler

-- 
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/1857139

Title:
  TypeError: object of type 'object' has no len() from
  resources_from_request_spec when cells are down

Status in OpenStack Compute (nova):
  Triaged
Status in OpenStack Compute (nova) train series:
  New

Bug description:
  Seen here:

  https://zuul.opendev.org/t/openstack/build/c187e207bc1c48a0a7fa49ef9798b696/log/logs/screen-n-sch.txt.gz#2529

  cell1 is down so the call to scatter_gather_cells in
  get_compute_nodes_by_host_or_node yields a result but it's not a
  ComputeNodeList, it's the did_not_respond_sentinel object:

  https://github.com/openstack/nova/blob/02019d2660dfce3facdd64ecdb2bd60ba4a91c6d/nova/scheduler/host_manager.py#L705

  https://github.com/openstack/nova/blob/02019d2660dfce3facdd64ecdb2bd60ba4a91c6d/nova/context.py#L454

  which results in an error here:

  https://github.com/openstack/nova/blob/02019d2660dfce3facdd64ecdb2bd60ba4a91c6d/nova/scheduler/utils.py#L612

  The HostManager.get_compute_nodes_by_host_or_node method should filter
  out fail/timeout results from the scatter_gather_cells results. We'll
  get a NoValidHost either way but this is better than the traceback
  with the TypeError in it.

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


Follow ups