[placement] update 19-31

Chris Dent cdent+os at anticdent.org
Fri Aug 9 14:09:28 UTC 2019


HTML: https://anticdent.org/placement-update-19-31.html

Pupdate 19-31. No bromides today.

# Most Important

Same as last week: The main things on the Placement radar are
implementing Consumer Types and cleanups, performance analysis, and
documentation related to nested resource providers.

We need to decide how much of a priority consumer types support is.
I've taken the task of asking around with the various interested
parties.

# What's Changed

* A more complex nested topology is now being used in the
   nested-perfload check job, and both that and the non-nest perfload
   run [apache benchmark](https://review.opendev.org/#/c/673540/) at
   the end. When you make changes you can have a look at the results
   of the `placement-perfload` and `placement-nested-perfload` gate
   jobs to see if there has been a performance impact. Keep in mind
   the numbers are only a guide. The performance characteristics of
   VMs from different CI providers varies _wildly_.

* A stack of several performance related improvements has merged,
   with still more to come. I've written a separate [Placement
   Performance
   Analysis](https://anticdent.org/placement-performance-analysis.html)
   that summarizes some of the changes. Many of these may be useful
   for other services. Each iteration reveals another opportunity.

* In some environments placement will receive a URL of '' when '/'
   is expected. Auth handling for version control needs to [handle
   this](https://review.opendev.org/674543).

* osc-placmeent 1.6.0 is in the process of being
   [released](https://review.opendev.org/675311).

# Stories/Bugs

(Numbers in () are the change since the last pupdate.)

There are 22 (-1) stories in [the placement
group](https://storyboard.openstack.org/#!/project_group/placement).
0 (0) are [untagged](https://storyboard.openstack.org/#!/worklist/580).
3 (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).
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 (0).

* Placement related nova [in progress bugs](https://goo.gl/vzGGDQ) on
   launchpad: 5 (1).

# osc-placement

osc-placement is currently behind by 12 microversions.

* <https://review.opendev.org/666542>
   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.

* <https://review.opendev.org/640898>
   Adds a new '--amend' option which can update resource provider
   inventory without requiring the user to pass a full replacement
   for inventory. This has been broken up into three patches to help
   with review.

# Main Themes

## Consumer Types

Adding a type to consumers will allow them to be grouped for various
purposes, including quota accounting.

* <https://review.opendev.org/#/q/topic:bp/support-consumer-types>
   A WIP, as microversion 1.37, has started.

## Cleanup

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 said above, there's lots of performance work in progress. We'll
need to make a similar effort with regard to docs.

One outcome of this work will 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.

# Other Placement

Miscellaneous changes can be found in [the usual
place](https://review.opendev.org/#/q/project:openstack/placement+status:open).

There are two [os-traits
changes](https://review.opendev.org/#/q/project:openstack/os-traits+status:open)
being discussed. And zero [os-resource-classes
changes](https://review.opendev.org/#/q/project:openstack/os-resource-classes+status:open).

# 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.opendev.org/659233>
   Cyborg: Placement report

* <https://review.opendev.org/662229>
   helm: add placement chart

* <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/670112>
   Nova: WIP: Add a placement audit command

* <https://review.opendev.org/671312>
   blazar: Fix placement operations in multi-region deployments

* <https://review.opendev.org/671793>
   Nova: libvirt: Start reporting PCPU inventory to placement
   A part of <https://review.opendev.org/#/q/topic:bp/cpu-resources

* <https://review.opendev.org/#/q/topic:bp/support-move-ops-with-qos-ports>
   Nova: support move ops with qos ports

* <https://review.opendev.org/666202>
   Blazar: Create placement client for each request

* <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/668252>
   Nova: Update HostState.\*\_allocation_ratio earlier

* <https://review.opendev.org/670696>
   tempest: Add placement API methods for testing routed provider nets

* <https://review.opendev.org/672678>
   openstack-helm: Build placement in OSH-images

* <https://review.opendev.org/674129>
   Correct global_request_id sent to Placement

* <https://review.opendev.org/#/q/topic:bp/cross-cell-resize>
   Nova: cross cell resize

* <https://review.opendev.org/675506>
   Watcher: Remove resource used fields from ComputeNode

* <https://review.opendev.org/674524>
   Nova: Scheduler translate properties to traits

# End

Somewhere in this performance work is a lesson for life: Every time
I think we've reached the bottom of the "easy stuff", I find yet
another bit of easy stuff.

-- 
Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent


More information about the openstack-discuss mailing list