[openstack-dev] [nova] placement/resource providers update 17
cdent+os at anticdent.org
Fri Mar 31 11:54:50 UTC 2017
Here's an update on resource providers and placement. I've been away
from OpenStack for most of this week, so apologies if I have missed
something important. Please follow up with anything I've missed (or
questions or comments or anything else).
# What Matters Most
Traits are still top of the priority stack. Links below.
Conversation is also happening around the need to make claims,
with some different ideas on scope. More on that, also below.
# What's Changed
Andrey Volkov stepped up to move placement api-ref work forward.
There's now a CI job gate-placement-api-ref-nv which will publish
drafts of placement-api-ref work. With this in place we can start
making real progress on those docs. More in the #docs theme below.
The repo for osc-placement has been created:
# Help Wanted
Areas where volunteers are needed.
* General attention to bugs tagged placement:
* Helping to create api documentation for placement (see the Docs
* Helping to create and evaluate functional tests of the resource
tracker and the ways in which it and nova-scheduler use the
reporting client. For some info see
and talk to edleafe.
* Performance testing. If you have access to some nodes, some basic
benchmarking and profiling would be very useful. See the
performance section below.
# Main Themes
The work to implement the traits API in placement is happening at
It's getting close. The sooner we get that happy, the sooner we can
make progress on the rest of the themes. What's left are mostly
## Ironic/Custom Resource Classes
A spec for "custom resource classes in flavors" that describes the
stuff that will actually make use of custom resource classes has merged:
Over in ironic some functional and integration tests have started:
## Claims in the Scheduler
A "Super WIP" spec for claims in the scheduler has started at
There are several different points of view on how this is supposed
to work. We need to resolve those differences to make some progress.
We all seem to agree on the long term plan, but not on how to get
there in the medium term.
## Shared Resource Providers
Progress on this will continue once traits and claims have moved forward.
## Nested Resource Providers
The spec for this has been updated with what was learned at the PTG
and to move it to Pike, needs to be reviewed.
As mentioned above Andrey Volkov has made some excellent progress on
making this work. There's now a draft publishing job in place, but
with the current state of logs.openstack.org it's hard to see if it
is working correctly. If not, we'll fix it.
With this stuff in place it should now be possible to start filling
in the relevant documentation for the API. Note that at the moment
this is mostly a manual process; the author of the docs is expected
to gather the relevant JSON samples from running their own requests
against the API (using, for example, curl) and formatting
appropriately. I've been using gabbi-run for this as it makes it
easy to tweak and capture the JSON being sent.
Find me (cdent) or Andrey (avolkov) if you want to help out or have
We're aware that there are some redundancies in the resource tracker
that we'd like to clean up
but it's also the case that we've done no performance testing on the
placement service itself.
We ought to do some testing to make sure there aren't unexpected
# Other Code/Specs
A spec for improving the level of detail and structure in placement
error responses so that it is easier to distinguish between
different types of, for example, 409 responses.
Spec for versioned-object based notification of events in the
placement API. We had some discussion in the weekly subteam
meeting about what the use cases are for this, starting
The gist is: "we should do this when we can articulate the
problem the notifications will solve". Comment on the review if
you have some opinions on that.
Idempotent PUT for resource classes. This is something that was
discovered while evaluating some resource tracker code. Has a bp
but probably needs a spec:
Fixing a typo in the resource providers spec.
Two changes in the os-traits library. One for adding some
networking related traits, another for restructuring the library
to remove some boilerplate.
Some fun discussion happening on this stuff to make it a bit more
future proof and avoid duplication.
Adding a reference to resource provide traits spec about the
Race condition for allocations during evacuation. Known bug, not
sure of solution. Needs an owner.
Cache headers not produced by placement API. This was assigned to
several different people over time, but I'm not sure if there is
any active code.
There's still some lingering stuff on here, some of which is
mentioned elsewhere in this message, but not all.
Go think about claims.
Chris Dent ¯\_(ツ)_/¯ https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev