Thanks to edleafe for doing last week's resource providers and placement
update. This one will try to situate things for next week's PTG. Because of the
PTG there will be no update next week. If everything goes to plan there should
be a wealth of etherpads and some summaries which will be further summarized in
the following week.
# What Matters Most
To make sure we address all the most relevant stuff next week, it would be
useful for anyone interested or invested in placement to have a review of some
etherpads, even if you aren't going to be at the PTG.
The overarching nova etherpad for the PTG is at:
The list of things related to placement is long enough to get its own:
There's an also an etherpad for doing a retrospective on the ocata cycle. That
has some placement related things on it. If you have some things to say on how
placement development went this cycle, good or bad, please add them to:
# What's Changed
In the last week or so the main things to have changed are merges to master and
backports of tweaks to status checks and deployment ordering (in systems like
TripleO) and a fair number of bugs (for example, two fixes to generated SQL to
make it work with postgresql). Master is now pike, so the functionality that
didn't make it into ocata is once again being actively worked on (see lots of
The full extent of the "Placement API Developer Notes" has merged. It's at:
If you're working on placement and have not read that, it's probably worth
reading. If you find that something is missing, please say so so we can figure
out how to fix it.
# Main Themes
The first two items listed below are the immediate feature priorities for
## Custom Resource Classes (Ironic Inventories)
We hoped to get this into Ocata but we didn't manage to bring it together in a
way that was comprehensible and tested enough to be confident. There's since
been some adjustments that should help with that but there remain some concerns
on where in the layers of code the inventory handling should happen.
## Real use of Shared Resource Providers
One of the big payoffs of the resource providers concept is that we'll finally
be able to allocate use of shared resources (such as farms of disk) in a
rational fashion. The changes at the topic above start that work. There's also
an etherpad where discussion of some of
the options is in progress:
You'll see from that we've still got some distance to go before we're all on
the same page about how this is supposed to work.
## Resource Provider Traits
(We should decide on just one bp name here.)
This is the qualitative aspect of resource providers (e.g., disk which is SSD)
and will allow requests to express preferences or requirements for types of
things, not just quantities of things.
## Nested Resource Providers
How to represent resources that are within other resources. Mostly to do with
things like NUMA functionality and PCI devices hosted on a compute node.
The start of creating an API ref for the placement API. Not a lot there yet as
I haven't had much of an opportunity to move it along. There is, however,
enough there for content to be started, if people have the opportunity to do
so. Check with me to divvy up the work if you'd like to contribute.
## Claims into the Scheduler
This is something that will be talked about at the PTG as part of long term
placement planning. Eventually requesting and claiming resources will be a
single request to the placement API. We need to figure out the flow of how that
is going to work.
# Other Code/Specs
Miscellaneous changes in progress. Bugs fixes, cleanups, leftovers. These need
review and eventual merging.
Better exception and response message when failing to create a
Fixing it so we don't have to add json_error_formatter everywhere.
There's a collection of related fixes attached to that bug report.
Pushkar, you might want to make all of those have the same topic, or
put them in a stack of related changes.
Fixes that ensure that we only accept valid inventories when setting
Removing the Allocation.create() method which was only ever used in
tests and not in the actual, uh, creation of allocations.
Avoid deprecation warnings from oslo_context.
We need to be able to delete all the inventory hosted by one
resource provider in one request. Right now you need one delete for
each class of resource.
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
CORS support in the placement API. We'll need this for browser-side
A little demo script for showing how a cronjob to update inventory
on a shared resource provider might work. This has been around for a
long time, I created it because it seemed like having a sort of demo
would be good, but it's been sitting around for a long time. It may
not be aligned with what we need. If so I'd like to abandon it.
# Other Things
We started two etherpads to discuss plans for pike and the need for greater
functional testing, but didn't make a ton of progress on either:
# End Matter
Thanks for reading this far. If you will be at the PTG next week, see you
there. If you won't, we'll miss you and we'll make sure there's
information available that reflects what happened.
Chris Dent ¯\_(ツ)_/¯ https://anticdent.org/
freenode: cdent tw: @anticdent
OpenStack Development Mailing List (not for usage questions)