This is a "contract" version, meaning that the spec and other lists do no have new additions, they are updated to remove what has been merged or abandoned. This is done to encourage people to review existing stuff before jumping on whatever the new shiny is.
With this edition I'm adding a Documentation theme as it was something that's been pointed out recently as a gap.
Nested allocation candidates are getting very close, but remain a critical piece of functionality. After that is making sure that we are progressing on the /reshapher functionality and bringing the various virt drivers into line with all this nice new functionality (which mostly means ProviderTrees).
All that nice new functionality means bugs. Experiment. Break stuff. Find bugs. Fix them.
The optional placement database changes merged. This means that if [placement_database]/connection is set, that's the target database for placement data, instead of the nova_api database connection.
Support for consumer generations in allocations has merged.
The PlacementDirect non-HTTP interface to placement has merged.
Most placement unit tests no longer rely on the nova base test classs.
The spec for Reshape Provider Trees (the thing driving /reshaper) merged.
- Placement related bugs not yet in progress: 17, one more than last week. We've got some work either starting or killing these.
- In progress placement bugs 8, -1 on last time.
In IRC yesterday we had an extensive discussion about being able to set custom resource classes on the resource provider representing a compute node, outside the virt driver. At the moment the virt driver will clobber it. Is this what we always want?
Total last week: 13. Now: 12
Spec-freeze has passed, so presumably exceptions will be required for these. For those that are just not going to happen in Rocky, I guess we can start pushing them into Stein.
https://review.openstack.org/#/c/549067/ VMware: place instances on resource pool (using update_provider_tree)
https://review.openstack.org/#/c/552924/ Proposes NUMA topology with RPs
https://review.openstack.org/#/c/544683/ Account for host agg allocation ratio in placement
https://review.openstack.org/#/c/552105/ Support default allocation ratios This one has two +2, but is pending some decision on spec-freeze.
https://review.openstack.org/#/c/438640/ Spec on preemptible servers
https://review.openstack.org/#/c/555081/ Standardize CPU resource tracking
https://review.openstack.org/#/c/509042/ Propose counting quota usage from placement
https://review.openstack.org/#/c/560174/ Add history behind nullable project_id and user_id
https://review.openstack.org/#/c/565730/ Placement: any traits in allocation_candidate query
https://review.openstack.org/#/c/565741/ Placement: support mixing required traits with any traits
https://review.openstack.org/#/c/559718/ [WIP] Support Placement in Cinder
https://review.openstack.org/#/c/569011/ Count quota based on resource class
This is a section for reminding us to document all the fun stuff we are enabling. Open areas include:
Documenting optional placement database. A bug, 1778227 has been created to track this.
"How to deploy / model shared disk. Seems fairly straight-forward, and we could even maybe create a multi-node ceph job that does this - wouldn't that be awesome?!?!", says an enthusiastic Matt Riedemann.
The when's and where's of re-shaping and VGPUs.
Nested providers in allocation candidates
As far as I can tell the main thing left here is to turn it on in a microversion. That code is at:
There have been some tweaks to account for the behavior leakage discussed last week.
There are a couple of patches left on the consumer generation topic:
Is someone already working on code for making use of this in the resource tracker?
Reshape Provider Trees
This allows moving inventory and allocations that were on resource provider A to resource provider B in an atomic fashion. The blueprint topic is:
There are WIPs for the HTTP parts and the resource tracker parts, on that topic.
Mirror Host Aggregates
I thought this was done but there's one thing left. A command line tool:
The optional placement database stuff has merged, and is running in the nova-next job. As mentioned above there are documentation tasks to do with this.
A while back, Jay made a first pass at an os-resource-classes, which needs some additional eyes on it. I personally thought it might be heavier than required. If you have ideas please share them.
An area we will need to prepare for is dealing with the various infra and co-gating issues that will come up once placement is extracted.
We also need to think about how to manage the fixtures currently made available by nova that we might need or want to use in placement. Some of them might be worth sharing. How should we do that?
23 entries last week. 18 now. Nice merging. But we've added quite a few, we just don't see them because this is a contract week.
https://review.openstack.org/#/c/546660/ Purge comp_node and res_prvdr records during deletion of cells/hosts
https://review.openstack.org/#/q/topic:bp/placement-osc-plugin-rocky A huge pile of improvements to osc-placement
https://review.openstack.org/#/c/527791/ Get resource provider by uuid or name (osc-placement)
https://review.openstack.org/#/c/477478/ placement: Make API history doc more consistent
https://review.openstack.org/#/c/556669/ Tighten up ReportClient use of generation
https://review.openstack.org/#/c/537614/ Add unit test for non-placement resize
https://review.openstack.org/#/c/493865/ cover migration cases with functional tests
https://review.openstack.org/#/q/topic:bug/1732731 Bug fixes for sharing resource providers
https://review.openstack.org/#/c/535517/ Move refresh time from report client to prov tree
https://review.openstack.org/#/c/561770/ PCPU resource class
https://review.openstack.org/#/c/566166/ rework how we pass candidate request information
https://review.openstack.org/#/c/564876/ add root parent NULL online migration
https://review.openstack.org/#/q/topic:bp/bandwidth-resource-provider add resource_requests field to RequestSpec
https://review.openstack.org/#/c/560107/ normalize_name helper (in os-traits)
https://review.openstack.org/#/c/538498/ Convert driver supported capabilities to compute node provider traits
https://review.openstack.org/#/c/568639/ Use placement.inventory.inuse in report client
https://review.openstack.org/#/c/517921/ ironic: Report resources as reserved when needed
https://review.openstack.org/#/c/568713/ Test for multiple limit/group_policy qparams