[placement] update 19-21

Chris Dent cdent+os at anticdent.org
Fri May 31 13:51:51 UTC 2019


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-history.html#support-string-request-group-suffixes)
   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


More information about the openstack-discuss mailing list