[placement] update 19-23

Chris Dent cdent+os at anticdent.org
Fri Jun 14 13:05:55 UTC 2019

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

19-23. I'll be travelling the end of next week so there will be no

# Most Important

We keep having interesting and helpful, but not yet fully
conclusive, discussions related to the [spec for nested
magic](https://review.opendev.org/662191). The discussion on the
spec links back to a few different IRC discussions. Part of the
reason this drags on so much is that we're trying to find a model
that is internally consistent in placement and generally applicable
while satisfying the NUMA requirements from Nova, while not
requiring either Placement or Nova to bend over backwards to get
things right, and while not imposing additional complexity on simple

(And probably a few other whiles...)

If you have thoughts on these sorts of things, join that review. In
the meantime there are plenty of other things to review (below).

# What's Changed

* A blocker migration for incomplete consumers has been added, and
   the inline migrations that would guard against the incompleteness
   have been removed.

* CORS configuration and use in Placement has been modernized and
   corrected. You can now, if you want, talk to Placement from
   JavaScript in your browser. (This was a bug I found while working
   on a [visualisation toy](https://github.com/cdent/placeview) with
   a friend.)

* Result sets for certain nested provider requests could return
   different results in Python versions 2 and 3. This has [been

* That ^ work was the result of working on implementing [mappings in
   which has [merged today as microversion

# Specs/Features

* <https://review.opendev.org/654799>
   Support Consumer Types. This has some open questions that need to
   be addressed, but we're still go on the general idea.

* <https://review.opendev.org/662191>
   Spec for nested magic 1. The easier parts of nested magic:
   same_subtree, resourceless request groups, verbose suffixes (already
   merged as 1.33). See "Most Important" above.

Some non-placement specs are listed in the Other section below.

# Stories/Bugs

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

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

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

[1832814: Placement API appears to have issues when compute host
replaced](https://bugs.launchpad.net/nova/+bug/1832814) is an
interesting bug. In a switch from RDO to OSA, resource providers are
being duplicated because of a change in node name.

# osc-placement

osc-placement is currently behind by 11 microversions.

There are no changes that have had attention in less than 4 weeks.
There are 4 other changes.

# 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)
and [spec](https://review.opendev.org/662191).

There is some in progress code, mostly WIPs to expose issues and
think about how things ought to work:

* <https://review.opendev.org/663009>
   PoC: resourceless request, including some code from
   WIP: Allow RequestGroups without resources

## 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. There are two new stories about some minor
performance degradations:

* <https://storyboard.openstack.org/#!/story/2005888>
   GET /allocations/{non existent consumer} slower than expected

* <https://storyboard.openstack.org/#!/story/2005889>
   Allocation mappings have introduced a slight performance reduction

Gibi discovered that osprofiler wasn't working with placement and
then fixed it:

* <https://review.opendev.org/663945>
   Add support for osprofiler in wsgi

Thanks to Ed Leafe for his report on the [state of graph database

# Other Placement

Miscellaneous changes can be found in [the usual

There are three [os-traits
being discussed. And one [os-resource-classes

# 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/601596>
   Nova: spec: support virtual persistent memory

* <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/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 test and 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/662371>
   starlingx: Add placement chart patch to openstack-helm

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

* <https://review.opendev.org/662164>
   kolla-ansible: Add a explanatory note for "placement_api_port"

* <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/623558>
   Nova: single pass instance info fetch in host manager

* <https://review.opendev.org/663478>
   docs: Add Placement service to Minimal deployment for Stein

* <https://review.opendev.org/663270>
   devstack: Add setting of placement microversion on tempest conf

* <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/661237>
   Nova: Validate requested host/node during servers create

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

* <https://review.opendev.org/664631>
   Kolla-ansible: Fix placement log perms in config.json

* <https://review.opendev.org/665168>
   TripleO: Enable Request Filter for Image Types

* <https://review.opendev.org/663979>
   Neutron: Force segments to use placement 1.1

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

# End

If you, like me, use this collection of information to drive what to
do early in the next week, you might like
which brute force loads all the links from the HTML version of this
in tabs in your browser.

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

More information about the openstack-discuss mailing list