← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1742467] [NEW] Compute unnecessarily gets resource provider aggregates during every update_available_resource run

 

Public bug reported:

This was provided by Kris Lindgren from GoDaddy on his Pike deployment
that is now running with Placement.

He noted that for every update_available_resource periodic task run,
these are the calls to Placement if inventory didn't change:

https://paste.ubuntu.com/26356656/

So there are 5 GET requests in there.

In this run, there isn't a call to get the resource provider itself
because the SchedulerReportClient has it cached in the
_resource_providers dict.

But it still gets aggregates for the provider twice because it always
wants to be up to date.

The aggregates are put in the _provider_aggregate_map, however, that
code is never used by anything since nova doesn't yet support resource
provider aggregates since those are needed for shared resource
providers, like a shared storage pool.

Until nova supports shared providers, we likely should just comment the
_provider_aggregate_map code out if nothing is using it to avoid the
extra HTTP requests to Placement every minute (the default periodic task
interval).

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: compute placement

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

Title:
  Compute unnecessarily gets resource provider aggregates during every
  update_available_resource run

Status in OpenStack Compute (nova):
  New

Bug description:
  This was provided by Kris Lindgren from GoDaddy on his Pike deployment
  that is now running with Placement.

  He noted that for every update_available_resource periodic task run,
  these are the calls to Placement if inventory didn't change:

  https://paste.ubuntu.com/26356656/

  So there are 5 GET requests in there.

  In this run, there isn't a call to get the resource provider itself
  because the SchedulerReportClient has it cached in the
  _resource_providers dict.

  But it still gets aggregates for the provider twice because it always
  wants to be up to date.

  The aggregates are put in the _provider_aggregate_map, however, that
  code is never used by anything since nova doesn't yet support resource
  provider aggregates since those are needed for shared resource
  providers, like a shared storage pool.

  Until nova supports shared providers, we likely should just comment
  the _provider_aggregate_map code out if nothing is using it to avoid
  the extra HTTP requests to Placement every minute (the default
  periodic task interval).

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


Follow ups