Index ¦ Archives ¦ Atom

Placement Update 18-25

This is placement update 18-25, a weekly update of ongoing development related to the OpenStack placement service.

This is a "contract" version, meaning that the spec and other lists do no have new additions, they are updated to remove what has been merged or abandoned. This is done to encourage people to review existing stuff before jumping on whatever the new shiny is.

With this edition I'm adding a Documentation theme as it was something that's been pointed out recently as a gap.

Most Important

Nested allocation candidates are getting very close, but remain a critical piece of functionality. After that is making sure that we are progressing on the /reshapher functionality and bringing the various virt drivers into line with all this nice new functionality (which mostly means ProviderTrees).

All that nice new functionality means bugs. Experiment. Break stuff. Find bugs. Fix them.

What's Changed

The optional placement database changes merged. This means that if [placement_database]/connection is set, that's the target database for placement data, instead of the nova_api database connection.

Support for consumer generations in allocations has merged.

The PlacementDirect non-HTTP interface to placement has merged.

Most placement unit tests no longer rely on the nova base test classs.

The spec for Reshape Provider Trees (the thing driving /reshaper) merged.



In IRC yesterday we had an extensive discussion about being able to set custom resource classes on the resource provider representing a compute node, outside the virt driver. At the moment the virt driver will clobber it. Is this what we always want?


Total last week: 13. Now: 12

Spec-freeze has passed, so presumably exceptions will be required for these. For those that are just not going to happen in Rocky, I guess we can start pushing them into Stein.

Main Themes


This is a section for reminding us to document all the fun stuff we are enabling. Open areas include:

  • Documenting optional placement database. A bug, 1778227 has been created to track this.

  • "How to deploy / model shared disk. Seems fairly straight-forward, and we could even maybe create a multi-node ceph job that does this - wouldn't that be awesome?!?!", says an enthusiastic Matt Riedemann.

  • The when's and where's of re-shaping and VGPUs.

Nested providers in allocation candidates

As far as I can tell the main thing left here is to turn it on in a microversion. That code is at:

There have been some tweaks to account for the behavior leakage discussed last week.

Consumer Generations

There are a couple of patches left on the consumer generation topic:

Is someone already working on code for making use of this in the resource tracker?

Reshape Provider Trees

This allows moving inventory and allocations that were on resource provider A to resource provider B in an atomic fashion. The blueprint topic is:

There are WIPs for the HTTP parts and the resource tracker parts, on that topic.

Mirror Host Aggregates

I thought this was done but there's one thing left. A command line tool:


The optional placement database stuff has merged, and is running in the nova-next job. As mentioned above there are documentation tasks to do with this.

A while back, Jay made a first pass at an os-resource-classes, which needs some additional eyes on it. I personally thought it might be heavier than required. If you have ideas please share them.

An area we will need to prepare for is dealing with the various infra and co-gating issues that will come up once placement is extracted.

We also need to think about how to manage the fixtures currently made available by nova that we might need or want to use in placement. Some of them might be worth sharing. How should we do that?


23 entries last week. 18 now. Nice merging. But we've added quite a few, we just don't see them because this is a contract week.



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