[placement] update 19-21
HTML: https://anticdent.org/placement-update-19-21.html And here we have placement update 19-21. # Most Important The [spec for nested magic](https://review.opendev.org/658510) has been split. The [second half](https://review.opendev.org/662191) contains the parts which should be relatively straightforward. The original retains functionality that may be too complex. An email has been [addressed to operators](http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006726.html) asking for feedback. Those two specs represent a significant portion of the work planned this cycle. Getting them reviewed and merged is a good thing to do. # What's Changed * A few small refactorings plus the removal of [null provider protections](https://review.opendev.org/657716) has improved performance when retrieving 10,000 allocation candidates significantly: from around 36 seconds to 6 seconds. * We've chosen to switch to office hours. Ed has started an [email thread](http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006728.html) to determine when they should be. * Tetsuro's changes to add a RequestGroupSearchContext have merged. These simplify state management throughout the processing of individual request groups, and help avoid redundant queries. * Most of the code for [counting (nova) quota usage from placement](https://review.opendev.org/#/q/topic:bp/count-quota-usage-from-placement) has merged. * [Microversion 1.33](https://docs.openstack.org/placement/latest/placement-api-microversion-histo...) of the placement API has merged. This allows more expressive suffixes on granular request groups (e.g., `resources_COMPUTE` in addition to `resources1`). # Specs/Features * <https://review.opendev.org/654799> Support Consumer Types. This is very close with a few details to work out on what we're willing and able to query on. It's two weeks later and still only has reviews from me. * <https://review.opendev.org/658510> Spec for can_split part of nested magic. We're unlikely to do this at this point, unless response to the [email asking for input](http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006726.html) is large and insisting. * <https://review.opendev.org/662191> Spec for nested magic 1. The easier parts of nested magic: same_subtree, resource request groups, verbose suffixes (already merged as 1.33). * <https://review.opendev.org/657582> Resource provider - request group mapping in allocation candidate. There's a [WIP](https://review.opendev.org/#/c/662245/) that looks promising, but we ought to make sure the spec is presenting the desired outcome. These and other features being considered can be found on the [feature worklist](https://storyboard.openstack.org/#!/worklist/594). Some non-placement specs are listed in the Other section below. Note that nova will be having a spec-review-sprint this coming Tuesday. if you're doing that, spending a bit of time on the placement specs would be great too. # Stories/Bugs (Numbers in () are the change since the last pupdate.) There are 19 (-1) stories in [the placement group](https://storyboard.openstack.org/#!/project_group/placement). 0 (0) are [untagged](https://storyboard.openstack.org/#!/worklist/580). 2 (0) are [bugs](https://storyboard.openstack.org/#!/worklist/574). 4 (-1) are [cleanups](https://storyboard.openstack.org/#!/worklist/575). 11 (0) are [rfes](https://storyboard.openstack.org/#!/worklist/594). 2 (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: 16 (0). * Placement related nova [in progress bugs](https://goo.gl/vzGGDQ) on launchpad: 7 (0). # osc-placement osc-placement is currently behind by 12 microversions. No change since the last report. _Note_: Based on conversations that we see on reviews, explicitly trying to chase microversions when patching the plugin may not be aligned with the point of OSC. We're trying to make a humane interface to getting stuff done with placement. Different microversions allow different takes on stuff. It's the stuff that matters, not the microversion. Pending Changes: * <https://review.openstack.org/#/c/640898/> Add 'resource provider inventory update' command (that helps with aggregate allocation ratios). * <https://review.openstack.org/#/c/651783/> Add support for 1.22 microversion. (So, for example, what matters here is that support for forbidden traits is being added. That it is in microversion 1.22 ought to be incidental (to the user of the client).) * <https://review.openstack.org/586056> Provide a useful message in the case of 500-error # Main Themes ## Nested Magic The overview of the features encapsulated by the term "nested magic" are in a [story](https://storyboard.openstack.org/#!/story/2005575). There is some in progress code, some of it WIPs to expose issues: * <https://review.opendev.org/657510> WIP: Allow RequestGroups without resources * <https://review.opendev.org/657463> Add NUMANetworkFixture for gabbits * <https://review.opendev.org/658192> Gabbi test cases for can_split * <https://review.opendev.org/662245> WIP: Implement allocation candidate mappings ## Consumer Types Adding a type to consumers will allow them to be grouped for various purposes, including quota accounting. A [spec](https://review.opendev.org/654799) 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/643269> Optionally run a wsgi profiler when asked. This has proven useful to find issues. The change has been unwipped and augumented with some documentation. * <https://review.opendev.org/661769> Add olso.middleware.cors to conf generator * <https://review.opendev.org/661922> Modernize CORS config and setup. Ed Leafe has also been doing some intriguing work on using graph databases with placement. It's not yet clear if or how it could be integrated with mainline placement, but there are likely many things to be learned from the experiment. # Other Placement Miscellaneous changes can be found in [the usual place](https://review.opendev.org/#/q/project:openstack/placement+status:open). There are several [os-traits changes](https://review.opendev.org/#/q/project:openstack/os-traits+status:open) being discussed. # Other Service Users New discoveries are added to the end. Merged stuff is removed. As announced last week, anything that has had no activity in 4 weeks has been removed (many have been removed). * <https://review.openstack.org/601596> Nova: spec: support virtual persistent memory * <https://review.openstack.org/645316> Nova: Pre-filter hosts based on multiattach volume support * <https://review.openstack.org/647396> Nova: Add flavor to requested_resources in RequestSpec * <https://review.openstack.org/633204> Blazar: Retry on inventory update conflict * <https://review.openstack.org/#/q/topic:bp/count-quota-usage-from-placement> Nova: count quota usage from placement * <https://review.openstack.org/#/q/topic:bug/1819923> Nova: nova-manage: heal port allocations * <https://review.openstack.org/629142> Tempest: Add QoS policies and minimum bandwidth rule client * <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/657884> Nova: Spec to pre-filter disabled computes with placement * <https://review.opendev.org/657801> rpm-packaging: placement service * <https://review.opendev.org/657016> Delete resource providers for all nodes when deleting compute service * <https://review.opendev.org/654066> nova fix for: Drop source node allocations if finish_resize fails * <https://review.opendev.org/656885> nova: WIP: Hey let's support routed networks y'all! * <https://review.opendev.org/662281> Fixes to keystoneauth to deal with the style of error responses that placement uses. * <https://review.opendev.org/662371> starlingx: Add placement chart patch to openstack-helm * <https://review.opendev.org/662229> helm: WIP: add placement chart * <https://review.opendev.org/661679> starlingx: Add stx-placement docker image directives files * <https://review.opendev.org/662164> kolla-ansible: Add a explanatory note for "placement_api_port" * <https://review.opendev.org/658451> neutron-spec: L3 agent capacity and scheduling # End That's a lot of reviewing. Please help out where you can. Your reward will be brief but sincere moments of joy. -- Chris Dent ٩◔̯◔۶ https://anticdent.org/ freenode: cdent
participants (1)
-
Chris Dent