Here's a 19-24 pupdate. Last week I said there wouldn't be one this week. I was wrong. There won't be one next week. I'm taking the week off to reset (I hope). I've tried to make sure that there's nothing floating about in Placement land that is blocking on me.
Most Important
The spec for nested magic is close. What it needs now is review from people outside the regulars to make sure it doesn't suffer from tunnel vision. The features discussed form the foundation for Placement being able to service queries for real world uses of nested providers. Placement can already model nested providers but asking for the right one has needed some work.
Editorial
I read an article this morning which touches on the importance of considering cognitive load in software design. It's fully of glittering generalities, but it reminds me of some of the reasons why it was important to keep a solid boundary between Nova and Placement and why, now that Placement is extracted, the complexity of this nested magic is something we need to measure against the cognitive load it will induce in the people who come after us as developers and users.
What's Changed
-
Support for mappings in allocation candidates has merged as microversion 1.34.
-
Gibi made it so OSProfiler works with placement again.
Specs/Features
-
https://review.opendev.org/654799 Support Consumer Types. This has some open questions that need to be addressed, but we're still go on the general idea.
-
https://review.opendev.org/662191 Spec for nested magic 1. See "Most Important" above.
Some non-placement specs are listed in the Other section below.
Stories/Bugs
(Numbers in () are the change since the last pupdate.)
There are 23 (3) stories in the placement group. 0 (0) are untagged. 4 (1) are bugs. 5 (-1) are cleanups. 11 (0) are rfes. 3 (1) 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: 16 (0).
-
Placement related nova in progress bugs on launchpad: 5 (-1).
1832814: Placement API appears to have issues when compute host replaced is an interesting bug. In a switch from RDO to OSA, resource providers are being duplicated because of a change in node name.
osc-placement
osc-placement is currently behind by 11 microversions.
- https://review.opendev.org/666542 Add support for multiple member_of.
Main Themes
Nested Magic
The overview of the features encapsulated by the term "nested magic" are in a story and spec.
Code related to this:
-
https://review.opendev.org/663009 PoC: resourceless request, including some code from https://review.opendev.org/657510 WIP: Allow RequestGroups without resources
-
https://review.opendev.org/#/q/topic:story/2005575-33753 Support for the new root_required query parameter. Introduces the useful concepts of required wide params and a request wide search context.
Consumer Types
Adding a type to consumers will allow them to be grouped for various purposes, including quota accounting. A spec has started. There are some questions about request and response details that need to be resolved, but the overall concept is sound.
Cleanup
We continue to do cleanup work to lay in reasonable foundations for the nested work above. As a nice bonus, we keep eking out additional performance gains too.
-
https://review.opendev.org/#/q/topic:story/2005443 Add a nested-perfload job, using gabbi to create the trees.
Unsurprisingly, nested topologies are slower than non; having this job will help us track that.
Other Placement
Miscellaneous changes can be found in the usual place.
There are five os-traits changes being discussed. And one os-resource-classes change.
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/601596 Nova: spec: support virtual persistent memory
-
https://review.openstack.org/#/q/topic:bug/1819923 Nova: nova-manage: heal port allocations
-
https://review.openstack.org/650188 nova-spec: Allow compute nodes to use DISK_GB from shared storage RP
-
https://review.opendev.org/659233 Cyborg: Placement report
-
https://review.opendev.org/657801 rpm-packaging: placement service
-
https://review.opendev.org/662229 helm: WIP: add placement chart
-
https://review.opendev.org/662164 kolla-ansible: Add a explanatory note for "placement_api_port"
-
https://review.opendev.org/656023 Nova: Use OpenStack SDK for placement
-
https://review.opendev.org/612497 Nova: Spec: Provider config YAML file
-
https://review.opendev.org/623558 Nova: single pass instance info fetch in host manager
-
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/#/q/topic:bp/support-move-ops-with-qos-ports Nova: support move ops with qos ports
-
https://review.opendev.org/665168 TripleO: Enable Request Filter for Image Types
-
https://review.opendev.org/664689 Nova: get_ksa_adapter: nix by-service-type confgrp hack
-
https://review.opendev.org/664862 OSA: Add nova placement to placement migration
-
https://review.opendev.org/657796 Nova: Defaults missing group_policy to 'none'
-
https://review.opendev.org/666202 Blazar: Create placement client for each request
-
https://review.opendev.org/666298 OSA: Fix aio_distro_metal jobs for openSUSE
End
Go outside. Reflect a bit. Then do.