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 quick.
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.
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_startuphas been added. Defaults to
True, the web service process will attempt the equivalent of
placement-manage db syncat startup.
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 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 README).
VGPU reshaping for libvirt merged!
Near to Done
- Filter Allocation Candidates by Provider Tree has been mostly completed by Tetsuro, but there's a pending update to the spec.
- Support filtering by forbidden aggregate membership also mostly completed by Tetsuro.
Not yet Done
These will get punted to Train.
Not yet Approved
- Resource provider - request group mapping in allocation candidate has had a recent resurgence in attention.
There is a storyboard project group 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!
That large drop on in progress is because I went through and caught up those bugs which had fixes committed but had not been automatically updated.
osc-placement is currently behind by 13 microversions.
VGPU reshaping for libvirt merged!
The bandwidth-resource-provider topic has merged a vast amount of code but there is some left. Some of it may still merge in Stein, but the rest will be for Train. The microversion (2.72 provides the API-level bits to allow booting a host with a minimum bandwidth requirement.
At least some of the remaining changes will be backported.
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
into smaller files. The first portion of that (
merged. The next stage is on
This will continue until each type has its own file.
https://review.openstack.org/#/c/639628/ Docs: extract testing info to own sub-page
https://review.openstack.org/#/q/topic:cd/gabbi-tempest-job Gabbi-based integration tests of placement. These recently found a bug that none of the functional, grenade, nor tempest tests did.
https://review.openstack.org/#/c/630216/ Add a vision-reflection (of the Technical Vision doc).
https://review.openstack.org/#/q/topic:bp/negative-aggregate-membership Negative member of aggregate filtering resource providers and allocation candidates.
https://review.openstack.org/#/c/641422/ Docs: Group API versions by release
https://review.openstack.org/#/c/640555/ 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 changes.)
https://review.openstack.org/#/q/topic:bp/count-quota-usage-from-placement 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.
https://review.openstack.org/621494 Add descriptions of numbered resource classes and traits
https://review.openstack.org/#/q/topic:minimum-bandwidth-allocation-placement-api Neutron side of minimum bandwidth.
https://review.openstack.org/#/q/bp/no-affinity-instance-reservation Blazar reservation handling, including some manipulation of inventory in placement.
https://review.openstack.org/633204 Blazar: Retry on inventory update conflict
https://review.openstack.org/#/c/626382/ Kolla: Copy placement database migration script
https://review.openstack.org/#/c/629253/ Tempest: Minimum bandwidth allocation with placement
Go forth and document and bug fix and raise a full and flavorful stein.