[openstack-dev] [nova] placement/resource providers update 29
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?
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.
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
A fix to correct the ordering of JOIN statements when request shared
custom resources from /allocation_candidates
Cleanup use of os_traits, to use the modul more.
Style fixups in tests.
Gabbi coverage for deleting custom resource class in use
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!).
Add functional test for local delete allocations
Add a status check for legacy filters in nova-status.
Provide more information about installing placement
Disambiguate resource provider conflict message
Spec for requesting traits in flavors
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.)
Call _update fewer times in the resource tracer
Retry resource provider registration when session's service
catalog does not have placement
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