[placement] update 19-09
cdent+os at anticdent.org
Fri Mar 8 14:51:19 UTC 2019
Here's another placement update. It was feature freeze this week so
people are probably a bit worn, I'll try to keep this light and
# Most Important
We need to decide if we want to do what amounts to a feature freeze
exception for Tetsuro's negative member-of handling linked below and
work out how/when to fit Mel's allocation ratio work on
osc-placement (also below) into the world so people can use it.
If people have placement related forum sessions they would like to
see happen the deadline is either today (March 8th) or Monday,
depending on which and how you read various pieces of info. Matt has
already set up an extraction-related session.
It's also important to be thinking about how placement would like to
engage (as a group) with the PTG.
If you want to run for PTL (of placement or anything else) the
deadline is 23:45 UTC, 12 March.
# What's Changed
* The refactoring of the objects/resource_provider.py file into
smaller, more single-purpose files, continues to merge. In case
anyone is feeling like this is a lot of churn for little purpose,
it does have purpose: This is making the code more accessible to
people who aren't familiar with it. It is also providing a good
review (a variety of warts and bugs and have been found and fixed)
of stale code.
* pep8's whitespace handling has been turned back on in placement.
We inherited the exceptions to the rules from nova, where fixing
for those rules would have been messy. In placement it wasn't that
much of a big deal.
* A conf setting `[placement_database]/sync_on_startup` has been
added. Defaults to `False`. If `True`, the web service process
will attempt the equivalent of `placement-manage db sync` at
* Improved debug logging when requesting allocation candidates,
so that operators can more accurately determine what requirement
led to reduced or no available hosts.
* [1.5.0 of osc-placement](https://pypi.org/p/osc-placement) was
released. It now goes up to microversion 1.18 (filter resource
providers by required traits). (Note to everyone: We should make
the info that shows up on PyPI more useful, by changing the
* VGPU reshaping for libvirt merged!
## Near to Done
* [Filter Allocation Candidates by Provider Tree](http://specs.openstack.org/openstack/nova-specs/specs/stein/approved/alloc-candidates-in-tree.html)
has been mostly completed by Tetsuro, but there's a [pending
update to the spec](https://review.openstack.org/639033).
* [Support filtering by forbidden aggregate membership](http://specs.openstack.org/openstack/nova-specs/specs/stein/approved/negative-aggregate-membership.html)
also mostly [completed by
## Not yet Done
These will get punted to Train.
* [Support any traits in allocation_candidates
* [Support mixing required traits with any
## Not yet Approved
* [Resource provider - request group mapping in allocation candidate](https://review.openstack.org/#/c/597601/)
has had a recent resurgence in attention.
There is a storyboard [project
for placement projects. Through to the end of Stein we'll be
paying attention to both it and Launchpad. The sole story in
storyboard right now is updating docs to indicate we are using
storyboard. So meta!
* Placement related [bugs not yet in progress](https://goo.gl/TgiPXb):13.
* [In progress placement bugs](https://goo.gl/vzGGDQ) 9. -8.
That large drop on in progress is because I went through and caught
up those bugs which had fixes committed but had not been
osc-placement is currently behind by 13 microversions.
* [support for 1.19](https://review.openstack.org/#/c/641094/)
* [support for 1.21](https://review.openstack.org/#/c/641123/)
* [aggregate allocation ratio
# Main Themes
* VGPU reshaping for libvirt merged!
* The bandwidth-resource-provider topic has merged a vast amount of
code but there is [some
Some of it may still merge in Stein, but the rest will be for
Train. The microversion
provides the API-level bits to allow booting a host with a minimum
At least some of the [remaining
changes](https://review.openstack.org/#/c/637953) will be
There were no nibbles on last week's plea, so I'll say again: If
anyone reading this is in a position to provide third party CI with
fancy hardware for NUMA, NFV, FPGA, and GPU related integration
testing with nova, there's a significant need for that.
The work that removed oslo.versionedobjects then moved on to
removing the List classes (e.g. AllocationList) in favor of using
native Python lists and breaking up the `resource_provider.py` file
into smaller files. The first portion of that (`scrub-Lists`)
merged. The next stage is on
This will continue until each type has its own file.
# Other Placement
Docs: extract testing info to own sub-page
Gabbi-based integration tests of placement. These recently found a
bug that none of the functional, grenade, nor tempest tests did.
Add a vision-reflection (of the Technical Vision doc).
Negative member of aggregate filtering resource providers and
Docs: Group API versions by release
Add explicit short-circuit in get_all_by_consumer_id
# Other Service Users
(If you stick "placement" somewhere in your commit message I'll
probably eventually find your in-progress placement-related
Using placement (from nova) for counting (some of) quota. Some of
this, mostly related to database migrations, managed to make it in
before feature freeze, but not the part that actually uses
placement to do some counting, that is still pending.
Add descriptions of numbered resource classes and traits
## Not Nova
Neutron side of minimum bandwidth.
Blazar reservation handling, including some manipulation of
inventory in placement.
Blazar: Retry on inventory update conflict
Kolla: Copy placement database migration script
Tempest: Minimum bandwidth allocation with placement
Go forth and document and bug fix and raise a full and flavorful
Chris Dent ٩◔̯◔۶ https://anticdent.org/
freenode: cdent tw: @anticdent
More information about the openstack-discuss