[openstack-dev] [nova] placement/resource providers update 16

Chris Dent cdent+os at anticdent.org
Fri Mar 24 12:43:50 UTC 2017

Here's your weekly dose of resource provides and placement news.

# What Matters Most

Traits are still top of the priority stack. Links below. There's
some need to start thinking about claims. More on that, also below.

# What's Changed

The `nova.api.openstack.placement.microversion.version_handler`
decorator now accepts only strings. It was accepting floats and
inputs and processing strings as input and that's wrong:


On the client side, for now the plan is to not create a
python-placementclient (as simple wraps of keystoneauth1 work well)
but instead to have an OSC plugin for command line calls. The infra
and governance changes for that are at:


Other than that we're making incremental progress across the board.

# Help Wanted

dims suggested that this document needed a help wanted section, to
highlight areas where volunteers are needed. That seems like a good
idea. This section will adapt over time, depending on how people
react to it. There are three main areas where help would be very

* General attention to bugs tagged placement:

* Helping to create api documentation for placement (see the Docs
   section below).

* Helping to create and evaluate functional tests of the resource
   tracker and the ways in which it and nova-scheduler use the
   reporting client. For some info see
   and talk to edleafe.

# Main Themes

## Traits

The work to implement the traits API in placement is happening at


It's getting close. The sooner we get that happy, the sooner we can
make progress on the rest of the themes.

## Ironic/Custom Resource Classes

The main work to support this was merged, but then some tripleo (I
think?) testing exposed an issue with how min_unit was being
managed, fixed in:


The original code was assuming there would never be
under-subscription. This, turns out, is a bad assumption.

A spec for "custom resource classes in flavors" that describes the
stuff that will actually make use of this functionality has merged:


Over in ironic some functional and integration tests have started:


## Claims in the Scheduler

This topic was briefly touched upon in the scheduler team meeting
and then again in the full nova meeting. The gist is that we need to
be sure we are all talking about the same thing(s) when we use the
phrase "Claims in the Scheduler", because it is a broad topic and we
want to be sure that when we write a spec it accurately discusses
what the overarching processes are, not simply how to satisfy them.
The hope is that by doing that we'll ensure we get everyone on the
same page, one that happens to be correct.

A "Super WIP" spec for claims in the scheduler was started at


## Shared Resource Providers


Progress on this will continue once traits and claims have moved forward.

## Nested Resource Providers




According to mriedem, the nested-resource provider spec
<https://review.openstack.org/#/c/386710/> should be updated to
reflect the flipboard discussion from the PTG (reported in this
space two weeks ago) about multi-parent providers and how they
aren't going to happen. Previous email:


## Docs


The start of creating an API ref for the placement API. Not a lot
there yet as I haven't had much of an opportunity to move it along.
There is, however, enough there for additional content to be
started, if people have the opportunity to do so. Check with me
(cdent) if you'd like to contribute.

Andrey Volkov has volunteered to help with some of this, but more
help is needed on two fronts:

* Figuring out how to set up api-ref publishing infra jobs for
   placement when the existing jobs for that sort of thing assume any
   given repo will only have one api-ref. Andrey has just this very
   minute made something for that (yay!):


* Adding content for each of the several resource handlers in the
   placement service.

## Performance

We're aware that there are some redundancies in the resource tracker
that we'd like to clean up


but it's also the case that we've done no performance testing on the
placement service itself.

We ought to do some testing to make sure there aren't unexpected
performance drains.

# Other Code/Specs

(A lot of the stuff listed last week has merged. \o/)

* https://review.openstack.org/#/c/416669/
   DELETE all inventories on one resource provider. This merged,
   which means it should now be possible to update the resource tracker
   to use it.

* https://review.openstack.org/#/c/418393/
    A spec for improving the level of detail and structure in placement
    error responses so that it is easier to distinguish between
    different types of, for example, 409 responses.

* https://review.openstack.org/#/c/423872/
     Spec for versioned-object based notification of events in the
     placement API. We had some discussion in the weekly subteam
     meeting about what the use cases are for this, starting


     The gist is: "we should do this when we can articulate the
     problem the notifications will solve". Comment on the review if
     you have some opinions on that.

* https://review.openstack.org/#/c/448791/
   Idempotent PUT for resource classes. This is something that was
   discovered while evaluating some resource tracker code. Has a bp
   but probably needs a spec:

* https://review.openstack.org/#/c/444065/
   Fixing a typo in the resource providers spec.

* https://review.openstack.org/#/c/448282/
   Two changes in the os-traits library. One for adding some
   networking related traits, another for restructuring the library
   to remove some boilerplate.

* https://review.openstack.org/#/c/447401/
   Adding a reference to resource provide traits spec about the
   os-traits library.

* https://bugs.launchpad.net/nova/+bug/1661312
     Race condition for allocations during evacuation. Known bug, not
     sure of solution. Needs an owner.

* https://bugs.launchpad.net/nova/+bug/1632852
     Cache headers not produced by placement API. This was assigned to
     several different people over time, but I'm not sure if there is
     any active code.

* https://etherpad.openstack.org/p/placement-newton-leftovers
      There's still some lingering stuff on here, some of which is
      mentioned elsewhere in this message, but not all.

# End

You made it!

Chris Dent                 ¯\_(ツ)_/¯           https://anticdent.org/
freenode: cdent                                         tw: @anticdent

More information about the OpenStack-dev mailing list