[openstack-dev] [nova] placement/resource providers update 14
cdent+os at anticdent.org
Fri Mar 10 15:46:05 UTC 2017
This week in resource providers and placement we've been working to
merge some specs and verify in progress work.
# What Matters Most
As with last week, traits remain the top of the priority stack. The
spec for that merged this week so now the review focus changes to
the implementation. Links for that in the Themes section below.
# What's Changed
The ironic inventory handling work has led to a new get_inventory()
method in virt drivers:
The ironic implementation is the only one in progress thus far:
CORS support merged. If cors.allowed_origin is set in nova.conf it
is turned on for placement.
# Main Themes
The work to normalize trait names (to be more like custom resource
classes) in the os-traits library has all merged, resulting in a new
The work to implement the merged spec trait is ongoing at
There is a review to fix some typos in the spec:
## Shared Resource Providers
Progress on this will continue once traits have moved forward.
## Nested Resource Providers
According to mriedem, the nested-resource provider spec
<https://review.openstack.org/#/c/386710/> should be updated to
reflect the flipboard discussion from the PTG (reported in this
space last week) about multi-parent providers and how they aren't
going to happen. Previous email:
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 additional 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 in the Scheduler
A "Super WIP" spec for claims in the scheduler has started at
As I say there, I think it is useful to discuss this stuff, but more
important to focus on getting what we already have working as that
will inform and change the future.
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
Checking for placement microversion 1.4 in nova-status.
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.
These are basically ready and besides cleaning up some boilerplate
in the code, help make sure that error output is consistent.
Fixes that ensure that we only accept valid inventories when setting
Needs second +2.
Removing the Allocation.create() method which was only ever used in
tests and not in the actual, uh, creation of allocations.
DELETE all inventories on one resource provider. The spec merged,
this is the implementation. Open question on how to manage one
of the utility functions therein.
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.
A little demo script for showing how a cronjob to update inventory
on a shared resource provider might work. Last week I asked if
this is still relevant and if not should I abandon it. I got no
response, so it might be time to do so.
Removing SQL from exception messages.
Race condition for allocations during evacuation. Known bug, not
sure of solution.
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.
Clean up caches in the scheduler report client when a resource
provider is deleted.
Gabbi test for invalid resource class name.
Thanks for reading this far. Your reward is my sincere thanks and
credit in the beer bank.
Chris Dent ¯\_(ツ)_/¯ https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev