[placement] update 19-24

Chris Dent cdent+os at anticdent.org
Fri Jun 21 11:22:22 UTC 2019


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

Here's a 19-24 pupdate. Last week I said there wouldn't be one this
week. I was wrong. There won't be one next week. I'm taking the week
off to reset (I hope). I've tried to make sure that there's nothing
floating about in Placement land that is blocking on me.

# Most Important

The [spec for nested
magic](https://review.opendev.org/662191) is close. What it needs
now is review from people outside the regulars to make sure it
doesn't suffer from tunnel vision. The features discussed form the
foundation for Placement being able to service queries for real
world uses of nested providers. Placement can already model nested
providers but asking for the right one has needed some work.

# Editorial

I read an article this morning which touches on the importance of
considering [cognitive load in software
design](https://techbeacon.com/app-dev-testing/forget-monoliths-vs-microservices-cognitive-load-what-matters).
It's fully of glittering generalities, but it reminds me of some of
the reasons why it was important to keep a solid boundary between
Nova and Placement and why, now that Placement is extracted, the
complexity of this nested magic is something we need to measure
against the cognitive load it will induce in the people who come
after us as developers and users.

# What's Changed

* Support for mappings in allocation candidates has merged as
   [microversion
   1.34](https://docs.openstack.org/placement/latest/placement-api-microversion-history.html#request-group-mappings-in-allocation-candidates).

* Gibi made it so [OSProfiler](https://docs.openstack.org/osprofiler/latest/)
   works with placement again.

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

* <https://review.opendev.org/666542>
   Add support for multiple member_of.

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

Code related to this:

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

* <https://review.opendev.org/#/q/topic:story/2005575-33753>
   Support for the new root_required query parameter. Introduces the
   useful concepts of required wide params and a request wide search
   context.

## 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/#/q/topic:story/2005443>
   Add a nested-perfload job, using gabbi to create the trees.

     Unsurprisingly, nested topologies are slower than non; having
     this job will help us track that.

# Other Placement

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

There are five [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/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/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/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/665168>
   TripleO: Enable Request Filter for Image Types

* <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/666298>
   OSA: Fix aio_distro_metal jobs for openSUSE

# End

Go outside. Reflect a bit. Then do.

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


More information about the openstack-discuss mailing list