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.)
-
https://review.openstack.org/#/c/619126/ 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.
Bugs
- Placement related bugs not yet in progress: 17. -2.
- In progress placement bugs 13. -1
Interesting Bugs
(Bugs that are sneaky and interesting and need someone to pick them up.)
-
https://bugs.launchpad.net/nova/+bug/1805858 placement/objects/resource_provider.py 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.
-
https://bugs.launchpad.net/nova/+bug/1804453 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.
Specs
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.
-
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.
-
https://review.openstack.org/#/c/609960/ Support filtering of allocation_candidates by forbidden aggregates
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:
- Stack at: https://review.openstack.org/#/c/615677
Extraction
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:
- 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.
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.
Other
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:
-
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/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/#/c/620485/ Sync placement database to the current version (in grenade)
-
https://review.openstack.org/#/c/621645/ WIP: add Placement aggregates tests (in tempest)
End
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.