Index ¦ Archives ¦ Atom

Placement Update 18-49

This will be the last placement update of the year. I'll be travelling next Friday and after that we'll be deep in the December lull. I'll catch us up next on January 4th.

Most Important

As last week, progress continues on the work in ansible, puppet/tripleo, kolla, loci to package placement up and establish upgrade processes. All of these things need review (see below). Work on GPU reshaping in virt drivers is getting close.

What's Changed

  • The perfload jobs which used to run in the nova-next job now has its own job, running on each change. This may be of general interest because it runs placement "live" but without devstack. Results in job runs that are less than 4 minutes.

  • We've decided to go ahead with the simple os-resource-classes idea, so a repo is being created.

Slow Reviews

(Reviews which need additional attention because they have unresolved questions.)

  • Set root_provider_id in the database

    This has some indecision because it does a data migration within schema migrations. For this particular case this is safe and quick, but there's concern that it softens a potentially useful boundary between schema and data migrations.


Interesting Bugs

(Bugs that are sneaky and interesting and need someone to pick them up.)

  • placement/objects/ missing test coverage for several methods

    This is likely the result of the extraction. Tests in nova's test_servers and friends probably covered some of this stuff, but now we need placement-specific tests.

  • maximum recursion possible while setting aggregates in placement

    This can only happen under very heavy load with a very low number of placement processes, but the code that fails should probably change anyway: it's a potentially infinite loop with no safety breakout.


Spec freeze is milestone 2, the week of January 7th. There was going to be a spec review sprint next week but it was agreed that people are already sufficiently busy. This will certainly mean that some of these specs do not get accepted for this cycle.

None of the specs listed last week have merged.

Main Themes

Making Nested Useful

Progress continues on gpu-reshaping for libvirt and xen:

Also making use of nested is bandwidth-resource-provider:

Eric's in the process of doing lots of cleanups to how often the ProviderTree in the resource tracker is checked against placement, and a variety of other "let's make this more right" changes in the same neighborhood:


The extraction etherpad is starting to contain more strikethrough text than not. Progress is being made. The main tasks are the reshaper work mentioned above and the work to get deployment tools operating with an extracted placement:

Documentation tuneups:

The functional tests in nova that use extracted placement are working but not yet merged. A child of that patch removes the placement code. Further work will be required to tune up the various pieces of documentation in nova that reference placement.


There are currently only 8 open changes in placement itself. Most of the time critical work is happening elsewhere (notably the deployment tool changes listed above).

Of those placement changes the database-related ones from Tetsuro are the most important.

Outside of placement:


In case it hasn't been clear: things being listed here is an explicit invitation (even plea) for you to help out by reviewing or fixing. Thank you.

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