Welcome to placement update 19-34. Feature Freeze is the week of September 9th. We have features in progress in placement itself (consumer types) and osc-placement that would be great to land.
In addition to the features above, we really need to get started on
tuning up the documentation so that
same_subtree and friends can
be used effectively.
It is also time to start thinking about what features, if any, need to be pursued in Ussuri. If there are few, that ought to leave time and energy for getting the osc-placement plugin more up to date.
And, there are plenty of stories (see below) that need attention. Ideally we'd end every cycle with zero stories, including removing ones that no longer make sense.
- Tetsuro has picked up the baton for performance and refactoring work and found some improvements that have merged. There's additional work in progress (noted below).
(Numbers in () are the change since the last pupdate.)
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 (-1).
Placement related nova in progress bugs on launchpad: 6 (2).
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
--amendoption which can update resource provider inventory without requiring the user to pass a full replacement for inventory and an
--aggregateoption to set inventory on all the providers in an aggregate. This has been broken up into three patches to help with review. This one is very close but needs review from more people than Matt.
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.
I picked this up yesterday and hope to have it finished next week, barring distractions. I figure having it in place for nova for Ussuri is a nice to have.
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.
Performance related explorations continue:
- https://review.opendev.org/#/c/679385/ Refactor initialization of research context. This puts the code that might cause an exit earlier in the process so we can avoid useless work.
One outcome of the performance work needs to 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.
Discussions about using a different JSON
terminated choosing not to use
orjson because it presents some
packaging and distribution issues that might be problematic. There's
still an option to use one of the other alternatives, but that
exploration has not started.
Miscellaneous changes can be found in the usual place.
- https://review.opendev.org/676982 Merge request log and request id middlewares is worth attention. It makes sure that all log message from a single request use a global and local request id.
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.opendev.org/659233 Cyborg: Placement report
https://review.opendev.org/662229 helm: add placement chart
https://review.opendev.org/#/q/topic:bp/virtual-persistent-memory 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/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/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/674524 Nova: Scheduler translate properties to traits
https://review.opendev.org/623558 Nova: single pass instance info fetch in host manager
https://review.opendev.org/674708 Zun: [WIP] Claim container allocation in placement
https://review.opendev.org/#/q/topic:bp/provider-config-file Nova: using provider config file for custom resource providers