Index ¦ Archives ¦ Atom

Placement Update 18-19

This is placement update 18-19. 18 was skipped because I was on holiday. With this issue I'm going to start cross-posting to my blog to increase exposure, double up the archiving, and get the content showing up on the OpenStack Planet.

One upshot of this change is that the content will now be formatted more fully as Markdown.

I'll be travelling next week so there won't be one of these for weeks 20 or 21, unless someone else feels like it.

Most Important

We're continuing to hope that granular and nested resource providers will be fully merged by Summit (a bit more than a week from now). Not clear if this will happen as last I checked it seemed we have multiple threads of changes in progress, many of which will merge conflict with one another. But then again, I may be out of date, it's been difficult to find all those threads while trying to catch up this week.

If you're going to be at summit there are (at least) two placement-related forum sessions:

Please add to those etherpads if you have thoughts.

Also a summit, Ed and Eric will be presenting Placement, Present and Future, in Nova and Beyond.

What's Changed

Granular requests can now be made to GET /allocation_candidates (meaning resourcesN and requiredN are now accepted). A bug with the safe_connect handler masking real problems has been fixed. The spec for Network Bandwidth Resource Provider has finally merged after a lot of thinking and discussion. The spec for Return resources of entire trees in Placement has merged. This allows the inclusion of resource providers which are not providing inventory, but are part of the current tree, in the provider summaries of a /allocation_candidates response.

There are some new specs (see the end of the specs list, below) which extend required traits handling to be able to say "I need at least one of these traits".



Total two weeks ago: 11. Now: 13

Main Themes

Nested providers in allocation candidates

Unfortunately I'm really unclear on what the current state of this is. If someone else can give a quick overview that would be excellent. There's code in progress at both of the following topics, some of it is old and in merge conflict:

Mirror nova host aggregates to placement

This makes it so some kinds of aggregate filtering can be done "placement side" by mirroring nova host aggregates into placement aggregates.

This is still in progress but is still on its attention break.

Consumer Generations

This allows multiple agents to "safely" update allocations for a single consumer. The code is in progress:

There's also a related change for ensuring consumer records.


Ways and means of addressing granular requests when dealing with nested resource providers. Granular in this sense is grouping resource classes and traits together in their own lumps as required. Topic is:

The sole active change in that now is work in progress to get it working from the Nova side.


I've created patches that adjust devstack and zuul config to use the separate placement database connection.

All of these things could merge without requiring any action by users. Instead they allow people to use different connections, but don't require it.

Jay has made a first pass at an os-resource-classes which I thought was potentially more heavyweight than required, but other people should have a look too.

As mentioned above there will be a forum session about extraction.

In the meantime, some of the low hanging fruit on extraction is duplicating and extracting to their own files the various fixtures and base test classes that are required by both the functional and unit tests. And making them not import from the nova hierarchy.


17 entries two weeks ago. 19 now.

Some of the older items in this list are not getting much attention. That's a shame. The list is ordered the way it is on purpose.


Please followup with the many things I've missed.

© Chris Dent. Built using Pelican. Theme by Giulio Fidente on github.