Index ¦ Archives ¦ Atom

Placement Update 18-31

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

Most Important

We are a week past feature freeze for the Rocky cycle, so finding and fixing bugs through testing and watching launchpad remains the big deal. Progress is also being made on making sure the Reshaper stack (see below) and using consumer generations in the report client are ready as soon as Stein opens.

What's Changed

A fair few bug fixes and refactorings have merged in the past week, thanks to everyone chipping in. The functional differences you might see include:

  • Writing allocations is retried server side up to ten times.
  • Placement functional tests are using some of their own fixtures for output, log, and warning capture. This may lead to different output when tests fail. We should fix issues as they come up.
  • Stats handling in the resource tracker is now per-node, meaning it is both more correct and more efficient.
  • Resource provider generation conflict handling in the report client is much improved.
  • When using force_hosts or force_nodes, limit is not used when doing GET /allocation_candidates.
  • You can no longer use unexpected fields when writing allocations.
  • The install guide has been updated to include instructions about the placement database.


Main Themes


Now that we are feature frozen we better document all the stuff. And more than likely we'll find some bugs while doing that documenting.

Matt pointed out in response to last week's pupdate that the two bullets that had been listed here are no longer valid because we punted on most of the functionality (fully working shared and nested providers) that needed the docs.

However, that doesn't mean we're in the clear. A good review of existing docs is warranted.

Consumer Generations

These are in place on the placement side. There's pending work on the client side, and a semantic fix on the server side, but neither are going to merge this cycle.

Reshape Provider Trees

Work has restarted on framing in the use of the reshaper from the compute manage. It won't merge for Rocky but we want it ready as soon as Stein opens.

It's all at:


A lot of test changes were made to prepare for the extraction of placement. Most of the remaining "uses of nova" in placement are things that will need to wait to post-extraction, but it is useful and informative to look at imports as there are some thing remaining.

On the PTG etherpad I've proposed that we consider stopping forward feature progress on Placement in Stein so that:

  • We can given nova some time to catch up and find bugs in existing placement features.
  • We can do the extraction and large backlog of refactoring work that we'd like to do.

That is at a list item of 'What does it take to declare placement "done"?'


Going to start this list with the 5 that remains from the 11 (nice work!) that were listed last week. After that will be anything else I can find.


This is the last one of these I'm going to do for a while. It's less useful at the end and beginning of the cycle when there are often plenty of other resources shaping our attention. Also, I pretty badly need a break and an opportunity to more narrowly focus on fewer things for a while (you can translate that as "get things done rather than tracking things"). Unless someone else would like to pick up the mantle, I expect to pick it back up sometime in September. Ideally someone else would do it. It's been a very useful tool for me, and I hope for others, so it's not my wish that it go away.

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