Index ¦ Archives ¦ Atom

Placement Update 19-23

19-23. I'll be travelling the end of next week so there will be no 19-24.

Most Important

We keep having interesting and helpful, but not yet fully conclusive, discussions related to the spec for nested magic. The discussion on the spec links back to a few different IRC discussions. Part of the reason this drags on so much is that we're trying to find a model that is internally consistent in placement and generally applicable while satisfying the NUMA requirements from Nova, while not requiring either Placement or Nova to bend over backwards to get things right, and while not imposing additional complexity on simple requests.

(And probably a few other whiles...)

If you have thoughts on these sorts of things, join that review. In the meantime there are plenty of other things to review (below).

What's Changed

  • A blocker migration for incomplete consumers has been added, and the inline migrations that would guard against the incompleteness have been removed.

  • CORS configuration and use in Placement has been modernized and corrected. You can now, if you want, talk to Placement from JavaScript in your browser. (This was a bug I found while working on a visualisation toy with a friend.)

  • Result sets for certain nested provider requests could return different results in Python versions 2 and 3. This has been fixed.

  • That ^ work was the result of working on implementing mappings in allocations which has merged today as microversion 1.34


  • Support Consumer Types. This has some open questions that need to be addressed, but we're still go on the general idea.

  • Spec for nested magic 1. The easier parts of nested magic: same_subtree, resourceless request groups, verbose suffixes (already merged as 1.33). See "Most Important" above.

Some non-placement specs are listed in the Other section below.


(Numbers in () are the change since the last pupdate.)

There are 20 (0) stories in the placement group. 0 (0) are untagged. 3 (0) are bugs. 6 (2) are cleanups. 11 (0) are rfes. 2 (0) are docs.

If you're interested in helping out with placement, those stories are good places to look.

1832814: Placement API appears to have issues when compute host replaced is an interesting bug. In a switch from RDO to OSA, resource providers are being duplicated because of a change in node name.


osc-placement is currently behind by 11 microversions.

There are no changes that have had attention in less than 4 weeks. There are 4 other changes.

Main Themes

Nested Magic

The overview of the features encapsulated by the term "nested magic" are in a story and spec.

There is some in progress code, mostly WIPs to expose issues and think about how things ought to work:

Consumer Types

Adding a type to consumers will allow them to be grouped for various purposes, including quota accounting. A spec has started. There are some questions about request and response details that need to be resolved, but the overall concept is sound.


We continue to do cleanup work to lay in reasonable foundations for the nested work above. As a nice bonus, we keep eking out additional performance gains too. There are two new stories about some minor performance degradations:

Gibi discovered that osprofiler wasn't working with placement and then fixed it:

Thanks to Ed Leafe for his report on the state of graph database work.

Other Placement

Miscellaneous changes can be found in the usual place.

There are three os-traits changes being discussed. And one os-resource-classes change.

Other Service Users

New discoveries are added to the end. Merged stuff is removed. Anything that has had no activity in 4 weeks has been removed.


If you, like me, use this collection of information to drive what to do early in the next week, you might like placement-reviewme which brute force loads all the links from the HTML version of this in tabs in your browser.

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