After a gap from when I was away last week, here's this week's placement update. The situation this week remains much the same as last week: focus on specs and the bigger issues associated with extraction.
Most Important
The major factors that need attention are managing database migrations and associated tooling and getting the ball rolling on properly producing documentation. More on both of these things in the extraction section below.
What's Changed
mnaser found an issue with the migrations associated with consumer ids. A fix was created in nova and ported into placement but it raised some questions on what to do with those migrations in the extracted placement. Some work also needs to be done to check to make sure the solutions will work in postgresql, as it might tickle the way it is more strict about group by clauses.
Bugs
- Placement related bugs not yet in progress: 16. -1.
- In progress placement bugs 8.
Specs
There's a spec review sprint this coming Tuesday. This may be missing some newer specs because I got exhausted keeping tabs on the ones that already exist.
-
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/600016/ List resource providers having inventory
-
https://review.openstack.org/#/c/593475/ Bi-directional enforcement of traits
-
https://review.openstack.org/#/c/591037/ Modelling passthrough devices for report to placement
-
https://review.openstack.org/#/c/509042/ Propose counting quota usage from placement and API database (A bit out of date but may be worth resurrecting)
-
https://review.openstack.org/#/c/603585/ Spec: allocation candidates in tree
-
https://review.openstack.org/#/c/603805/ [WIP] generic device discovery policy
-
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/552105/ Support initial allocation ratios
-
https://review.openstack.org/#/c/569011/ Count quota based on resource class
-
https://review.openstack.org/#/c/607989/ WIP: High Precision Event Timer (HPET) on x86 guests
-
https://review.openstack.org/#/c/571111/ Add support for emulated virtual TPM
-
https://review.openstack.org/#/c/510235/ Limit instance create max_count (spec) (has some concurrency issues related placement)
-
https://review.openstack.org/#/c/141219/ Adds spec for instance live resize
Main Themes
Making Nested Useful
Work on getting nova's use of nested resource providers happy and fixing bugs discovered in placement in the process. This is creeping ahead, but feels somewhat stalled out, presumably because people are busy with other things.
I feel like I'm missing some things in this area. Please let me know if there are others. This is related:
- https://review.openstack.org/#/c/589085/ Pass allocations to virt drivers when resizing
Extraction
There continue to be three main tasks in regard to placement extraction:
- upgrade and integration testing
- database schema migration and management
- documentation publishing
The upgrade aspect of (1) is in progress with a patch to grenade and a patch to devstack. This is very close to working. A main blocker is needing a proper tool for managing the creation and migration of database tables (more below).
My experiments with using gabbi-tempest are getting a bit closer.
Successful devstack is dependent on us having a reasonable solution to (2). For the moment a hacked up script is being used to create tables. Ed has started some work on moving to alembic.
We have work in progress to tune up the documentation but we are not yet publishing documentation (3). We need to work out a plan for this. Presumably we don't want to be publishing docs until we are publishing code, but the interdependencies need to be teased out.
Other
Various placement changes out in the world.
-
https://review.openstack.org/#/q/topic:bug/1798163 The fix, in placement, for the consumer id group by problem.
-
https://review.openstack.org/#/c/601866/ Generate sample policy in placement directory (This is a bit stuck on not being sure what the right thing to do is.)
-
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/607953/ TripleO: Use valid_interfaces instead of os_interface for placement
-
https://review.openstack.org/#/c/602160/ Add OWNERSHIP $SERVICE traits
-
https://review.openstack.org/#/c/604182/ Puppet: Initial cookiecutter and import from nova::placement
-
https://review.openstack.org/#/c/601407/ WIP: Add placement to devstack-gate PROJECTS This was done somewhere else wasn't it, so could this be abandoned?
-
https://review.openstack.org/#/c/586960/ zun: Use placement for unified resource management
End
Hi!