It's been a while since the last placement update. Summit happened. Seemed pretty okay, except for the food. People have things they'd like to do with placement.
Most Important
We're starting to approach the point where we're thinking about the possibility of maybe turning off placement-in-nova. We're not there yet, and as is always the case with these kinds of things, it's the details at the end that present the challenges. As such there are a mass of changes spread around nova, placement, devstack, grenade, puppet and openstack-ansible related to making things go. More details on those below, but what we need is the same as ever: reviews. Don't be shy. If you're not a core or not familiar with placement, reviews are still very helpful. A lot of the patches take the form of "this might be the right way to do this".
What's Changed
There is now a placement-manage command which can do database migrations, driven by alembic. This means that the devstack patch which uses the extracted placement can merge soon. Several other testing related (turning on tempest and grenade for placement) changes depend-on that.
Matt did a placement-status command which has a no-op we-are-here upgrade check. We've already met the python3 goals (I think?), so I reckon placement is good to go on community-wide goals. Woot.
The PlacementFixture that placement provides for other projects to do functional tests with it has merged. There's a patch for nova using it.
The spec for counting quota usage in placement has been revived after learning at summit that a proposed workaround that didn't use placement wasn't really all that good for people using cells v2.
Bugs
- Placement related bugs not yet in progress: 17. +1.
- In progress placement bugs 13. +2
Specs
Summit and U.S. Thanksgiving has disrupted progress on some of these, but there are still plenty of specs awaiting their future.
Many of these have unaddressed negative review comments.
-
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/603352/ Spec: Support filtering by forbidden aggregate
-
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/#/c/509042/ Propose counting quota usage from placement and API database
-
https://review.openstack.org/603545 Resource modeling in cyborg.
Main Themes
Making Nested Useful
Progress is being made on gpu-reshaping for libvirt and xen:
Making use of nested is bandwidth-resource-provider:
Somewhat related to nested are a stack of changes 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/615646/
Extraction
(There's an etherpad which tracks some of the work related to extraction. Please refer to that for additional information.)
TripleO and OpenStack-Ansible are both working on tooling to install and/or upgrade to extracted placement:
- https://review.openstack.org/#/q/topic:tripleo-placement-extraction
- https://review.openstack.org/#/q/project:openstack/openstack-ansible-os_placement
libvirt support for GPU reshaping:
Grenade and tempest testing for extracted placement:
- Extracted placement in devstack: https://review.openstack.org/600162
- Turning on tests: https://review.openstack.org/#/c/617565/
- Some fixes to grenade using python3: https://review.openstack.org/#/c/619728/
A replacement for placeload
performance testing that was in the
nova-next
job: https://review.openstack.org/#/c/619248/. This
might be of interest to people trying to do testing of live
services without devstack. It starts with a basic node, turns on
mysql, runs placement with uwsgi, and does the placeload testing.
Note that this found a pretty strange bug in
_ensure_aggregates.
Documentation tuneups:
- Front page: https://review.openstack.org/#/c/619273/
- 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.
We've been putting off making a decision about os-resource-classes. Anyone have strong opinions?
Other
Besides the 20 or so open changes in placement itself, and those mentioned above, here are some other changes that may be of interest.
-
https://review.openstack.org/#/q/topic:bp/initial-allocation-ratios Improve handling of default allocation ratios
-
https://review.openstack.org/#/q/topic:minimum-bandwidth-allocation-placement-api Neutron minimum bandwidth implementation
-
https://review.openstack.org/#/c/602160/ Add OWNERSHIP $SERVICE traits
-
https://review.openstack.org/#/c/586960/ zun: Use placement for unified resource management
-
https://review.openstack.org/#/q/topic:cd/gabbi-tempest-job Using gabbi-tempest for integration tests.
-
https://review.openstack.org/#/q/project:openstack/blazar+topic:bp/placement-api Blazar using the placement-api
-
https://review.openstack.org/619626 Tenks doing some node management, with a bit of optional placement.
-
https://review.openstack.org/617273 Extracted placement in loci
-
https://review.openstack.org/#/c/613589/ Extracted placement in kolla
-
https://review.openstack.org/#/c/613629/ Extracted placement in kolla-ansible
End
Lot going on. Thanks to everyone for their contributions.