← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1708252] Re: resource tracker updates its map of aggregates too often

 

Reviewed:  https://review.openstack.org/489633
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=fc6caeeb5122ad4577ebd98f23309a68b8e9e738
Submitter: Jenkins
Branch:    master

commit fc6caeeb5122ad4577ebd98f23309a68b8e9e738
Author: Chris Dent <cdent@xxxxxxxxxxxxx>
Date:   Tue Aug 1 16:07:03 2017 +0100

    Update RT aggregate map less frequently
    
    The _provider_aggregate_map was being updated every time
    _ensure_resource_provider was called. This is inefficient as aggregates
    are not updated that often.
    
    This change only updates the aggregate map for any single resource
    provider if it has not been updated in the last 300 seconds. The
    handling of the update has been moved out to its own method (instead of
    two calls in _ensure_resource_provider) so that if we want to move it to
    the periodic job or something like that, that will be easy.
    
    When a resource provider is new to the resource tracker, we always
    update the aggregate map for that resouce provider uuid.
    
    The initial pass of this used a single time for last update, instead of
    a time per resource provider uuid, but that would lead to some
    upredictability.
    
    The aggregate_refresh_map (which maps rp uuids to last update times) is
    public so that if we want to make it so the reset() on the compute
    manager can clear it, we have that option.
    
    Closes-Bug: #1708252
    Change-Id: Ida7c79a3130ba1c159a37c984d382c789f46e111


** Changed in: nova
       Status: In Progress => Fix Released

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

Title:
  resource tracker updates its map of aggregates too often

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  As of late in the Pike cycle, the resource tracker updates its map of
  aggregates associated with the resource provider it knows about
  everytime it calls `_ensure_resource_provider`. This method is called
  quite often, increasingly so as we do more stuff with resource
  providers from both the resource tracker and scheduler (both of which
  use the report client). This results in a lot of useless work that
  could create undue load on both client and server.

  There is a long standing TODO to have some kind of cache or timeout so
  that we update the aggregate map less often, as updates of those on
  the placement server side are relatively infrequent.

  We need to balance between doing the updates too often and there being
  a gap between when an aggregate change does happen and the map getting
  updated.

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


References