[openstack-dev] [nova] placement/resource providers update 29

Chris Dent cdent+os at anticdent.org
Fri Jul 21 11:54:59 UTC 2017

Placement Update 29.

# What Matters Most

The last bit of claims in the scheduler is in the last stages of


Getting that in and dealing with any related fallout (see below in the
"Help Wanted" section) is top priority. Next after that is any of the
work related to custom resource classes and traits (see their sections

There's also plenty of lingering functional test ill behavior, perhaps
based on the compute api and placement api fixtures not playing well
together. If we can find the time to analyze the situation and figure
out what's up, we'd be doing ourselves a favor.

# What's Changed

Lots of little things here and there, mostly related to
allocation_candidates being used by the scheduler.

# Help Wanted

Areas where volunteers are needed.

* General attention to bugs tagged placement:

* Experimenting with the new scheduler code that uses /allocation_candidates
   and making queries against /allocation_candidates in general. gibi has been
   doing some work with that and found (and resolved) a few relevant bugs.
   Better to get them now than later.

# Main Themes

## Claims in the Scheduler


## Custom Resource Classes for Ironic

A spec for custom resource classes is being updated to reflect the
need to update the flavor and allocations of a previously allocated
ironic node that how has a custom resource class (such as


The implementation of those changes has started at:


That gets the flavor adjustment. Do we also need to do allocation
cleanups or was that already done at some point in the past?

## Traits

The concept of traits now exists in the placement service, but
filtering resource providers on traits is in flux. With the advent
of /allocation_candidates as the primary scheduling interface, that
needs to support traits. Work for that is in a stack starting at


It's not yet clear if we'll want to support traits at both
/allocation_candidates and /resource_providers. I think we should,
but the immediate need is on /allocation_candidates.

There's some proposed code to get /resource_providers started:


## Shared Resource Providers

Support for shared resource providers is "built in" to the
/allocation_candidates concept and one of the drivers for having it.

There was a thread on the dev list recently about using them with
custom resource classes which may be instructive (this was the start
of bug finding journey by gibi):


This isn't yet present on /resource_providers and it's unclear whether
we want it or not. I've got some code that has an intentionally
failing test to make sure it has some visibility:


## Nested Resource Providers

Work is paused on nested resource providers.


## Docs

Lots of placement-related api docs have merged or are in progress:


Setting up the official publishing job for the api ref is on hold
until the content has been migrated to the locations specified by the
docs migration that is currently in progress:


Some changes have been proposed to document the scheduler's
workflow, including visual aids, starting at:


# Other Code/Specs

* https://review.openstack.org/#/c/485088/
   A fix to correct the ordering of JOIN statements when request shared
   custom resources from /allocation_candidates

* https://review.openstack.org/#/c/485792/
   Cleanup use of os_traits, to use the modul more.

* https://review.openstack.org/#/c/485791/
   Style fixups in tests.

* https://review.openstack.org/#/c/484154/
   Gabbi coverage for deleting custom resource class in use

* https://review.openstack.org/#/c/472378/
      A proposed fix to using multiple config locations with the
      placement wsgi app. There's some active discussion on whether the
      solution in mind is the right solution, or even whether the bug is
      a bug (it is!).

* https://review.openstack.org/#/c/470578/
      Add functional test for local delete allocations

* https://review.openstack.org/#/c/427200/
         Add a status check for legacy filters in nova-status.

* https://review.openstack.org/#/c/469048/
       Provide more information about installing placement

* https://review.openstack.org/#/c/468928/
       Disambiguate resource provider conflict message

* https://review.openstack.org/#/c/468797/
       Spec for requesting traits in flavors

* https://review.openstack.org/#/c/480379/
     ensure shared RP maps with correct root RP
     (Some discussion on this one what the goal is and whether the
     approach is the right one.)

* https://review.openstack.org/#/c/483506/
    Call _update fewer times in the resource tracer

* https://review.openstack.org/#/c/483460/
    Retry resource provider registration when session's service
    catalog does not have placement

* https://review.openstack.org/#/c/452006/
    A functional test to confirm that migration between two different
    cells is not allowed. Included here because it uses the
    PlacementFixture and may be experiencing the bug that
    https://review.openstack.org/#/c/483564/ is trying to fix.

Chris Dent                  ┬──┬◡ノ(° -°ノ)       https://anticdent.org/
freenode: cdent                                         tw: @anticdent

More information about the OpenStack-dev mailing list