[placement] update 19-34
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.
# Most Important
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.
# What's Changed
* Tetsuro has picked up the baton for performance and refactoring
work and found [some](https://review.opendev.org/677120)
[improvements](https://review.opendev.org/677209) that have
merged. There's additional work in progress (noted below).
(Numbers in () are the change since the last pupdate.)
There are 25 (2) stories in [the placement
0 (0) are [untagged](https://storyboard.openstack.org/#!/worklist/580).
5 (1) are [bugs](https://storyboard.openstack.org/#!/worklist/574). 4 (0)
are [cleanups](https://storyboard.openstack.org/#!/worklist/575). 12
(1) are [rfes](https://storyboard.openstack.org/#!/worklist/594).
4 (0) are [docs](https://storyboard.openstack.org/#!/worklist/637).
If you're interested in helping out with placement, those stories
are good places to look.
* Placement related nova [bugs not yet in progress](https://goo.gl/TgiPXb)
on launchpad: 17 (-1).
* Placement related nova [in progress bugs](https://goo.gl/vzGGDQ) on
launchpad: 6 (2).
osc-placement is currently behind by 12 microversions.
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.
Adds a new `--amend` option which can update resource provider
inventory without requiring the user to pass a full replacement
for inventory and an `--aggregate` option 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.
# Main Themes
## Consumer Types
Adding a type to consumers will allow them to be grouped for various
purposes, including quota accounting.
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:
Refactor initialization of research context. This puts the code
that might cause an exit earlier in the process so we can avoid
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.
# Other Placement
Miscellaneous changes can be found in [the usual
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.
There are two [os-traits
being discussed. And zero [os-resource-classes
# 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.
Cyborg: Placement report
helm: add placement chart
libvirt: report pmem namespaces resources by provider tree
Nova: Remove PlacementAPIConnectFailure handling from AggregateAPI
Nova: WIP: Add a placement audit command
Nova: libvirt: Start reporting PCPU inventory to placement
A part of <https://review.opendev.org/#/q/topic:bp/cpu-resources>
Nova: support move ops with qos ports
Blazar: Create placement client for each request
nova: Support filtering of hosts by forbidden aggregates
blazar: Send global_request_id for tracing calls
tempest: Add placement API methods for testing routed provider nets
openstack-helm: Build placement in OSH-images
Correct global_request_id sent to Placement
Nova: cross cell resize
Nova: Scheduler translate properties to traits
Nova: single pass instance info fetch in host manager
Zun: [WIP] Claim container allocation in placement
Nova: using provider config file for custom resource providers
Chris Dent Ù©â??Ì¯â??Û¶ https://anticdent.org/