[placement] update 19-26

Chris Dent cdent+os at anticdent.org
Fri Jul 5 13:01:40 UTC 2019


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

Pupdate 19-26. Next week is R-15, two weeks until Train milestone 2.

# Most Important

The [spec for nested
magic](https://docs.openstack.org/placement/latest/specs/train/approved/2005575-nested-magic-1.html)
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.

# What's Changed

* The implementation for mappings in allocation candidates had a bug
   which Eric [found](https://review.opendev.org/668302) and fixed
   and then I realized there was a [tidier way to do
   it](https://review.opendev.org/668724). This then led to the
   `same_subtree` work needing to manage less information, because it
   was already there.

* The spec for [Consumer
   Types](https://docs.openstack.org/placement/latest/specs/train/approved/2005473-support-consumer-types.html)
   merged and work [has
   started](https://review.opendev.org/669170).

* We're using os-traits 0.15.0 now.

* There's a [framework in place](https://review.opendev.org/665695)
   for nested resource provider peformance testing. We need to update
   the provider topology to reflect real world situations (more on
   that below).

* The `root_required` query parameter on `GET
   /allocation_candidates` has been merged as [microversion
   1.35](https://docs.openstack.org/placement/latest/placement-api-microversion-history.html#support-root-required-queryparam-on-get-allocation-candidates).

* I've sent [an
   email](http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007527.html)
   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.

# Specs/Features

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.

# Stories/Bugs

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

There are 23 (3) stories in [the placement
group](https://storyboard.openstack.org/#!/project_group/placement).
0 (0) are [untagged](https://storyboard.openstack.org/#!/worklist/580).
2 (-2) are [bugs](https://storyboard.openstack.org/#!/worklist/574). 5 (0)
are [cleanups](https://storyboard.openstack.org/#!/worklist/575). 11
(0) are [rfes](https://storyboard.openstack.org/#!/worklist/594).
4 (1) 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: 4 (-1).

# 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

These are the features required by modern nested resource provider
use cases. We've merged mappings in allocation candidates and
`root_required`. `same_subtree` and resourceless request groups are
what's left and they are in:

* <https://review.opendev.org/668376>
   Support `same_subtree` queryparam

## 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>

## 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 mentioned above, one of the important cleanup tasks that is not
yet in progress is updating the
[gabbit](https://opendev.org/openstack/placement/src/branch/master/gate/gabbits/nested-perfload.yaml)
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` and `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
profiling required…

Another cleanup that needs to start is satisfying the community wide
goal of [PDF doc
generation](https://storyboard.openstack.org/#!/story/2006110).

# Other Placement

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

There are three [os-traits
changes](https://review.opendev.org/#/q/project:openstack/os-traits+status:open)
being discussed. And one [os-resource-classes
change](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.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

# End

This space left intentionally blank.
-- 
Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent


More information about the openstack-discuss mailing list