[openstack-dev] [nova] [placement] placement update 18-12
cdent+os at anticdent.org
Fri Mar 23 14:15:55 UTC 2018
Another week, another pile of code and specs to write and review.
This week will be a "contract" style update: No new links to code
and specs in the listings sections. Next week will be an "expand",
when there will be. Perhaps this can help make sure that in progress
stuff doesn't get lost in the face of the latest thing? Dunno, worth
# Most Important
While work has started on some of the already approved specs, there
are still a fair few under review, and a couple yet to be written.
Given the number of specs we've got going it's entirely likely we've
bitten off more than we can chew, but we'll see. Getting specs
landed early makes it easier to get the functionality merged sooner,
so: review some specs.
In active code reviews, the update provider tree and nested
providers in allocation candidates work remains crucial foundations
for nearly everything required on the nova side.
# What's Changed
'member_of' has been added to GET /allocation_candidates making it
possible to do a sort of pre-filter based on aggregate membership.
There are some potential improvements to this, being discussed in an
ammendment to the spec:
Placement service exceptions have been moved to
[Add yours here?]
* Placement related bugs not yet in progress: https://goo.gl/TgiPXb
15, same as last week
* In progress placement bugs: https://goo.gl/vzGGDQ
13, +2 on last week
(There are more than this, but this is a contract week.)
VMware: place instances on resource pool
Provide error codes for placement API
mirror nova host aggregates to placement API
Proposes NUMA topology with RPs
Account for host agg allocation ratio in placement
Spec for isolating configuration of placement database
Support default allocation ratios
Spec on preemptible servers
# Main Themes
## Update Provider Tree
The ability of virt drivers to represent what resource providers
they know about--whether that be numa, or clustered resources--is
supported by the update_provider_tree method. Part of it is done,
but some details remain:
There's new stuff in here for the add/remove traits and aggregates
stuff discussed above.
## Nested providers in allocation candidates
This is making progress but during review we identified potential
inconsistencies of the semantics of the various filtering
mechanisms. Jay soldiers on at:
## Request Filters
A generic mechanism to allow the scheduler to futher refine the
query made to /allocation_candidates to account for things like
## Mirror nova host aggregates to placement
This makes it so some kinds of aggregate filtering can be done
"placement side" by mirroring nova host aggregates into placement
It's part of what will make the req filters above useful.
## Forbidden Traits
A way of expressing "I'd like resources that do _not_ have trait X".
I've started this, but it is mostly just feeling around at this
## Consumer Generations
Edleafe will start the ball rolling on this and I (cdent) will be
his virtual pair.
There's now a specless blueprint on which to hang extraction related
for changes in progress, including moving some tests.
A spec was requested to explain the issues surrounding the optional
placement database connection. That's here:
This is _very_ useful when doing experiments for finding the
important boundaries between nova and placement and also has no
impact on a configuration that doesn't use it. Some of those
experiments are in a blog post series ending with
The other major need for the extraction work is creating an
os-resources-classes library. Are there any volunteers for this?
This is not everything, because this is contract week. That is:
considering reviewing this older stuff, get it out of the way and
done, off the radar, etc.
Purge comp_node and res_prvdr records during deletion of
Migrate legacy-osc-placement-dsvm-functional job in-tree
A huge pile of improvements to osc-placement
Add compute capabilities traits (to os-traits)
General policy sample file for placement
Provide framework for setting placement error codes
Get resource provider by uuid or name (osc-placement)
Fix comments in get_all_with_shared()
Fixes related to shared providers
Add more functional test for placement.usage
placement: Make API history doc more consistent
Next week will be an expand. We win a prize if we can add things
without making this message longer.
Chris Dent ٩◔̯◔۶ https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the OpenStack-dev