Welcome to the first placement update of 2019. May all your placements have sufficient resources this year.
Most Important
A few different people have mentioned that we're approaching crunch time on pulling the trigger on deleting the placement code from nova. The week of the 14th there will be a meeting to iron out the details of what needs to be done prior to that. If this is important to you, watch out for an announcement of when it will be. This is a separate issue from putting placement under its own governance, but some of the requirements declared for that, notably a deployment tool demonstrating an upgrade from placement-in-nova to placement-alone, are relevant.
Therefore, reviewing and tracking the deployment tool related work remains critical. Those are listed below.
Also, it is spec freeze next week. There are quite a lot of specs that are relevant to placement and scheduling that are close, but not quite. Mel has sent out an email about which specs most need attention.
What's Changed
-
There's an os-resource-classes now, already merged in placement, with a change posted for nova. It's effectively the same as os-traits, but for resource classes.
-
There's a release of a 0.1.0 of placement pending. This won't have complete documentation, but will mean that there's an actually usable openstack-placement on PyPI, with what we expect to be the final python module requirements.
-
This has been true for a while, but it seems worth mentioning, via coreycb: "you can install placement-api on bionic with the stein cloud archive enabled".
-
A
db stamp
command has been added toplacement-manage
tool which makes it possible for someone who has migrated their data from nova to say "I'm at version X". -
placement functional tests have been removed from nova.
-
Matt did a mess of work to make initializing the scheduler report client in nova less expensive and redundant.
-
Improving the handling of allocation ratios has merged, allowing for "initial allocation ratios".
Bugs
- Placement related bugs not yet in progress: 15. -2.
- In progress placement bugs 15. +2
Specs
Spec freeze next week! Only one of the previously listed specs has merged since early December and a new one has been added (at the end).
-
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/#/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
-
https://review.openstack.org/601596 support virtual persistent memory
Main Themes
Making Nested Useful
Progress continues on gpu-reshaping for libvirt and xen:
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
The extraction etherpad is starting to contain more strikethrough text than not. Progress is being made. I'll refactor that soon so it is more readable, before the week of the 14th meeting.
The main tasks are 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?
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 currently 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/602160/ Add OWNERSHIP $SERVICE traits
-
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
Lot's of good work in progress. Our main task is making sure it all gets review and merged. The sooner we do, the sooner people get to use it and find all the bugs we're sure to have left lying around.