Pupdate 19-26. Next week is R-15, two weeks until Train milestone 2.
The spec for nested magic merged and significant progress has been made in the implementation. That work is nearly ready to merge (see below), after a few more reviews. Once that happens one of our most important tasks will be experimenting with that code to make sure it fully addresses the uses cases, has proper documentation (including "how do I use this?"), and is properly evaluated for performance and maintainability.
The implementation for mappings in allocation candidates had a bug which Eric found and fixed and then I realized there was a tidier way to do it. This then led to the
same_subtreework needing to manage less information, because it was already there.
We're using os-traits 0.15.0 now.
There's a framework in place for nested resource provider peformance testing. We need to update the provider topology to reflect real world situations (more on that below).
root_requiredquery parameter on
GET /allocation_candidateshas been merged as microversion 1.35.
I've sent an email announcing my intent to not go to the Shangai (or any other) summit, and what changes that could imply for how Placement does the PTG.
All placement specs have merged. Thanks to everyone for the frequent reviews and quick followups. We've been maintaining some good velocity.
Some non-placement specs are listed in the Other section 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: 16 (0).
Placement related nova in progress bugs on launchpad: 4 (-1).
osc-placement is currently behind by 11 microversions.
- https://review.opendev.org/666542 Add support for multiple member_of.
These are the features required by modern nested resource provider
use cases. We've merged mappings in allocation candidates and
same_subtree and resourceless request groups are
what's left and they are in:
Adding a type to consumers will allow them to be grouped for various purposes, including quota accounting.
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 mentioned above, one of the important cleanup tasks that is not yet in progress is updating the gabbit that creates the nested topology that's used in nested performance testing. The topology there is simple, unrealistic, and doesn't sufficiently exercise the several features that may be used during a query that desires a nested response.
Recently I've been seeing that the
placement-perfload job is
giving results that vary between
N*2 (usually .5 and 1
seconds) and the difference that I can discern is the type of CPUs
being presented by the host (same number of CPUs (8) but different
type). This supports something we've been theorizing for a while:
when dealing with large result sets we are CPU bound processing the
several large result sets returned by the database. Further
Another cleanup that needs to start is satisfying the community wide goal of PDF doc generation.
Miscellaneous changes can be found in the usual place.
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.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/662229 helm: WIP: add placement chart
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/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/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/668930 tempest: Define the Integrated-gate-networking gate template
https://review.opendev.org/669309 tempest: Define the Integrated-gate-placement gate template
https://review.opendev.org/668263 Nova: Restore RT.old_resources if ComputeNode.save() fails
https://review.opendev.org/669188 Remove assumption of http error if consumer not exists
https://review.opendev.org/669253 TripleO: Add new parameter NovaSchedulerLimitTenantsToPlacementAggregate
https://review.opendev.org/669252 puppet-nova: Expose limit_tenants_to_placement_aggregate parameter
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/667417 nova: Implement update_provider_tree for hyperv
https://review.opendev.org/668639 watcher: Improve Compute Data Model
https://review.opendev.org/#/q/topic:bp/pre-filter-disabled-computes Nova: pre filter disable computes
https://review.opendev.org/668252 Nova: Update HostState.*_allocation_ratio earlier
This space left intentionally blank.