Hello! Here's placement update 19-01. Not a ton to report this week, so this will mostly be updating the lists provided last week.
Most Important
As mentioned last week, there will be a meeting next week to discuss what is left before we can pull the trigger on deleting the placement code from nova. Wednesday is looking like a good day, perhaps at 1700UTC, but we'll need to confirm that on Monday when more people are around. Feel free to respond on this thread if that won't work for you (and suggest an alternative).
Since deleting the code is dependent on deployment tooling being able to handle extracted placement (and upgrades to it), reviewing that work is important (see below).
What's Changed
-
It was nova's spec freeze this week, so a lot of effort was spent getting some specs reviewed and merged. That's reflected in the shorter specs section, below.
-
Placement had a release and was published to pypi. This was a good excuse to write (yet another) blog post on how easy it is to play with.
Bugs
- Placement related bugs not yet in progress: 14. -1.
- In progress placement bugs 16. +1
Specs
With spec freeze this week, this will be the last time we'll see this section until near the end of this cycle. Only one of the specs listed last week merged (placement for counting quota).
-
https://review.openstack.org/#/c/544683/ Account for host agg allocation ratio in placement (Still in rocky/)
-
https://review.openstack.org/#/c/595236/ Add subtree filter for GET /resource_providers
-
https://review.openstack.org/#/c/597601/ Resource provider - request group mapping in allocation candidate
-
https://review.openstack.org/#/c/549067/ VMware: place instances on resource pool (still in rocky/)
-
https://review.openstack.org/#/c/555081/ Standardize CPU resource tracking
-
https://review.openstack.org/#/c/599957/ Allow overcommit of dedicated CPU (Has an alternative which changes allocations to a float)
-
https://review.openstack.org/#/c/591037/ Modelling passthrough devices for report to placement
-
https://review.openstack.org/#/c/603955/ Nova Cyborg interaction specification.
-
https://review.openstack.org/#/c/601596/ supporting virtual NVDIMM devices
-
https://review.openstack.org/#/c/552924/ Proposes NUMA topology with RPs
-
https://review.openstack.org/#/c/569011/ Count quota based on resource class
-
https://review.openstack.org/#/c/141219/ Adds spec for instance live resize
-
https://review.openstack.org/#/c/612497/ Provider config YAML file
-
https://review.openstack.org/603545 Resource modeling in cyborg.
-
https://review.openstack.org/#/c/609960/ Support filtering of allocation_candidates by forbidden aggregates
-
https://review.openstack.org/601596 support virtual persistent memory
Main Themes
Making Nested Useful
I've been saying for a few weeks that "progress continues on gpu-reshaping for libvirt and xen" but it looks like the work at:
is actually stalled. Anyone have some insight on the status of that work?
Also making use of nested is bandwidth-resource-provider:
There's a review guide for those patches.
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:
- Stack at: https://review.openstack.org/#/c/615677
Extraction
Besides the meeting mentioned above, I've refactored the extraction etherpad to make a new version that has less noise in it so the required actions are a bit more clear.
The tasks remain much the same as mentioned last week: the reshaper work mentioned above and the work to get deployment tools operating with an extracted placement:
Loci's change to have an extracted placement has merged.
Kolla has a patch to include the upgrade
script.
It raises the question of how or if the mysql-migrate-db.sh
should
be distributed. Should it maybe end up in the pypi distribution?
(The rest of this section is duplicated from last week.)
Documentation tuneups:
-
Release-notes: https://review.openstack.org/#/c/618708/ This is blocked until we refactor the release notes to reflect now better.
-
The main remaining task here is participating in openstack-manuals, to that end:
- https://review.openstack.org/#/c/628183/ A stack of changes to nova to remove placement from the install docs.
- https://review.openstack.org/#/c/628220/ Install docs in placement. I wrote to the mailing list asking for input on making sure these things are close to correct, especially with regard to distro-specific things like package names.
- https://review.openstack.org/#/c/628324 Change to openstack-manuals to assert that placement is publishing install docs. Depends on the above.
-
There is a patch to delete placement from nova that we've put an administrative -2 on while we determine where things are (see about the meeting above).
-
There's a pending patch to support online data migrations. This is important to make sure that fixup commands like
create_incomplete_consumers
can be safely removed from nova and implemented in placement.
Other
There are still 13 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:
-
https://review.openstack.org/#/q/topic:minimum-bandwidth-allocation-placement-api Neutron minimum bandwidth implementation
-
https://review.openstack.org/#/c/586960/ zun: Use placement for unified resource management
-
https://review.openstack.org/#/c/621645/ WIP: add Placement aggregates tests (in tempest)
-
https://review.openstack.org/627326 blazar: Consider the number of reservation inventory
-
https://review.openstack.org/622316 Add placement client for basic GET operations (to tempest)
End
If anyone has submitted, or is planning to, a proposal for summit that is placement-related, it would be great to hear about it. I had thought about doing a resilient placement in kubernetes with cockroachdb for the edge sort of thing, but then realized my motivations were suspect and I have enough to do otherwise.