Index ¦ Archives ¦ Atom

Placement Update 18-40

Here's this week's placement update. We remain focused on specs and pressing issues with extraction, mostly because until the extraction is "done" in some form doing much other work is a bit premature.

Most Important

There have been several discussions recently about what to do with options that impact both scheduling and configuration. Some of this was in the thread about intended purposes of traits, but more recently there was discussion on how to support guests that want an HPET. Chris Friesen summarized a hangout that happened yesterday that will presumably be reflected in an in-progress spec.

The work to get grenade upgrading to placement is very close. After several iterations of tweaking, the grenade jobs are now passing. There are still some adjustments to get devstack jobs working, but the way is relatively clear. More on this in "extraction" below, but the reason this is a most important is that this stuff allows us to do proper integration and upgrade testing, without which it is hard to have confidence.

What's Changed

In both placement and nova, placement is no longer using get_legacy_facade(). This will remove some annoying deprecation warnings.

The nova->placement database migration script for MySQL has merged. The postgresql version is still up for review.

Consumer generations are now being used in some allocation handling in nova.


  • What should we do about nova calling the placement db, like in nova-manage and nova-status.

  • Should we consider starting a new extraction etherpad? The old one has become a bit noisy and out of date.



Many of these specs don't seem to be getting much attention. Can the dead ones be abandoned?

So many specs.

Main Themes

Making Nested Useful

Work on getting nova's use of nested resource providers happy and fixing bugs discovered in placement in the process. This is creeping ahead. There is plenty of discussion going along nearby with regards to various ways they are being used, notably GPUs.

I feel like I'm missing some things in this area. Please let me know if there are others. This is related:


There continue to be three main tasks in regard to placement extraction:

  1. upgrade and integration testing
  2. database schema migration and management
  3. documentation publishing

The upgrade aspect of (1) is in progress with a patch to grenade and a patch to devstack. This is very close to working. The remaining failures are with jobs that do not have openstack/placement in $PROJECTS.

Once devstack is happy then we can start thinking about integration testing using tempest. I've started some experiments with using gabbi for that. I've explained my reasoning in a blog post.

Successful devstack is dependent on us having a reasonable solution to (2). For the moment a hacked up script is being used to create tables. This works, but is not sufficient for deployers nor for any migrations we might need to do.

Moving to alembic seems a reasonable thing to do, as a part of that.

We have work in progress to tune up the documentation but we are not yet publishing documentation (3). We need to work out a plan for this. Presumably we don't want to be publishing docs until we are publishing code, but the interdependencies need to be teased out.


Going to start highlighting some specific changes across several projects. If you're aware of something I'm missing, please let me know.


I'm going to be away next week, so if any my pending code needs some fixes and is blocking other stuff, please fix it. Also, there will be no pupdate next week (unless someone else does one).

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