Pupdate 19-31. No bromides today.
Most Important
Same as last week: The main things on the Placement radar are implementing Consumer Types and cleanups, performance analysis, and documentation related to nested resource providers.
We need to decide how much of a priority consumer types support is. I've taken the task of asking around with the various interested parties.
What's Changed
-
A more complex nested topology is now being used in the nested-perfload check job, and both that and the non-nest perfload run apache benchmark at the end. When you make changes you can have a look at the results of the
placement-perfload
andplacement-nested-perfload
gate jobs to see if there has been a performance impact. Keep in mind the numbers are only a guide. The performance characteristics of VMs from different CI providers varies wildly. -
A stack of several performance related improvements has merged, with still more to come. I've written a separate Placement Performance Analysis that summarizes some of the changes. Many of these may be useful for other services. Each iteration reveals another opportunity.
-
In some environments placement will receive a URL of '' when '/' is expected. Auth handling for version control needs to handle this.
-
osc-placmeent 1.6.0 is in the process of being released.
Stories/Bugs
(Numbers in () are the change since the last pupdate.)
There are 22 (-1) stories in the placement group. 0 (0) are untagged. 3 (0) are bugs. 4 (-1) are cleanups. 11 (0) are rfes. 4 (0) are docs.
If you're interested in helping out with placement, those stories are good places to look.
-
Placement related nova bugs not yet in progress on launchpad: 17 (0).
-
Placement related nova in progress bugs on launchpad: 5 (1).
osc-placement
osc-placement is currently behind by 12 microversions.
-
https://review.opendev.org/666542 Add support for multiple member_of. There's been some useful discussion about how to achieve this, and a consensus has emerged on how to get the best results.
-
https://review.opendev.org/640898 Adds a new '--amend' option which can update resource provider inventory without requiring the user to pass a full replacement for inventory. This has been broken up into three patches to help with review.
Main Themes
Consumer Types
Adding a type to consumers will allow them to be grouped for various purposes, including quota accounting.
- https://review.opendev.org/#/q/topic:bp/support-consumer-types A WIP, as microversion 1.37, has started.
Cleanup
Cleanup is an overarching theme related to improving documentation, performance and the maintainability of the code. The changes we are making this cycle are fairly complex to use and are fairly complex to write, so it is good that we're going to have plenty of time to clean and clarify all these things.
As said above, there's lots of performance work in progress. We'll need to make a similar effort with regard to docs.
One outcome of this work will be something like a Deployment Considerations document to help people choose how to tweak their placement deployment to match their needs. The simple answer is use more web servers and more database servers, but that's often very wasteful.
Other Placement
Miscellaneous changes can be found in the usual place.
There are two os-traits changes being discussed. And zero os-resource-classes changes.
Other Service Users
New discoveries are added to the end. Merged stuff is removed. Anything that has had no activity in 4 weeks has been removed.
-
https://review.openstack.org/#/q/topic:bug/1819923 Nova: nova-manage: heal port allocations
-
https://review.opendev.org/659233 Cyborg: Placement report
-
https://review.opendev.org/662229 helm: add placement chart
-
https://review.opendev.org/634551 libvirt: report pmem namespaces resources by provider tree
-
https://review.opendev.org/660852 Nova: Remove PlacementAPIConnectFailure handling from AggregateAPI
-
https://review.opendev.org/670112 Nova: WIP: Add a placement audit command
-
https://review.opendev.org/671312 blazar: Fix placement operations in multi-region deployments
-
https://review.opendev.org/671793 Nova: libvirt: Start reporting PCPU inventory to placement A part of <https://review.opendev.org/#/q/topic:bp/cpu-resources
-
https://review.opendev.org/#/q/topic:bp/support-move-ops-with-qos-ports Nova: support move ops with qos ports
-
https://review.opendev.org/666202 Blazar: Create placement client for each request
-
https://review.opendev.org/667952 nova: Support filtering of hosts by forbidden aggregates
-
https://review.opendev.org/669079 blazar: Send global_request_id for tracing calls
-
https://review.opendev.org/668252 Nova: Update HostState.*_allocation_ratio earlier
-
https://review.opendev.org/670696 tempest: Add placement API methods for testing routed provider nets
-
https://review.opendev.org/672678 openstack-helm: Build placement in OSH-images
-
https://review.opendev.org/674129 Correct global_request_id sent to Placement
-
https://review.opendev.org/#/q/topic:bp/cross-cell-resize Nova: cross cell resize
-
https://review.opendev.org/675506 Watcher: Remove resource used fields from ComputeNode
-
https://review.opendev.org/674524 Nova: Scheduler translate properties to traits
End
Somewhere in this performance work is a lesson for life: Every time I think we've reached the bottom of the "easy stuff", I find yet another bit of easy stuff.