Update 34 has many links. # Most Important Besides reviewing all the stuff in this document, another important thing to do is to make additions and edits on the PTG etherpad https://etherpad.openstack.org/p/nova-ptg-queens There's also now an etherpad for gathering retrospective thoughts. If you have some ideas on things that went well or less than well in placement related work it would be great if you could add your thoughts there: https://etherpad.openstack.org/p/nova-pike-retrospective # Help Wanted Reviewing things that are fixes for backportable problems is the main thing. # Bugs needing attention (Bugs which are not yet in progress or beyond.) ## Current * https://bugs.launchpad.net/nova/+bug/1683858 Allocation records do not contain overhead information * https://bugs.launchpad.net/nova/+bug/1679750 Allocations are not cleaned up in placement for instance 'local delete' case * https://bugs.launchpad.net/nova/+bug/1427772 Instance that uses force-host still needs to run some filters (old bug, but newly relevant in a placement world) * https://bugs.launchpad.net/nova/+bug/1713796 Failed unshelve does not remove allocations from destination node * https://bugs.launchpad.net/nova/+bug/1713739 VM resize and confirm on the same host fails with custom resources * https://bugs.launchpad.net/nova/+bug/1714237 After deleting a migration the allocations are not ceased from the destination host * https://bugs.launchpad.net/nova/+bug/1714402 When setting an allocation with multiple resource providers and one of them does not exist the error message can be wrong * https://bugs.launchpad.net/nova/+bug/1714248 Compute node HA for ironic doesn't work due to the name duplication of Resource Provider (this one has interesting ramifications beyond the specific bug) ## Old (need to be flushed or refreshed:?) * https://bugs.launchpad.net/nova/+bug/1652099 placement requests from n-cpu logs not found in placement-api logs * https://bugs.launchpad.net/nova/+bug/1674694 In placement api error responses choose poor default content-type (this was partially fixed in the resource tracker, but not generally. As described in the bug, this ought to be relatively straightforward to make go) # Docs The illustrated guide to scheduling has been published: https://docs.openstack.org/nova/latest/reference/scheduling.html Placement docs being linked into useful place: https://review.openstack.org/#/c/498977/ # Main Themes ## Alternate Destinations The complexity of the response data has led to some confusion on how it should be represented. A spec has been started to try to come to grips with the issues and resolve to a solution: https://review.openstack.org/#/c/498830/ There are a lot of open questions. The code for that work is in a stack starting at: https://review.openstack.org/#/c/486215/ ## Migration UUIDs in Allocations As most people have probably noticed, managing allocations during various types of move operations is chaotic. One way to help make it more understandable will be to use the uuid of a migration to identify one of the "claims" used in the "doubling" process. This first requires a uuid on the migration object. That's starting at: https://review.openstack.org/#/c/496933/ You'll see there that there is a large stack including things like "Revert allocations by migration uuid". That's the goal, but if implemented with currently available APIs there are some race conditions so a new spec has been started to add a way to POST allocation for multiple consumers in one go: https://review.openstack.org/#/c/499259/ It has a few options which need to be resolved, and the POC implementation has exposed some other things will need to be tweaked: https://review.openstack.org/#/c/500073/ ## Traits Work continues apace on getting filtering by traits working: https://review.openstack.org/#/c/489206/ This has some overlap with shared provider handling (below). ## Shared Resource Providers There's some support for shared resource providers on the placement side of the scheduling equation, but the resource tracker is not yet ready to support it. There is some work in progress, starting with functional tests: https://review.openstack.org/#/c/490733/ ## Nested Resource Providers This will start back up after we clean off the windscreen. The stack begins at https://review.openstack.org/#/c/470575/5 # Other Code * https://review.openstack.org/#/c/493865/ functional tests for live migrate * https://review.openstack.org/#/c/494136/ Allow shuffling of best weighted hosts * https://review.openstack.org/#/c/495159/ tests for resource allocation during soft delete * https://review.openstack.org/#/c/485209/ gabbi tests for shared custom resource class * https://review.openstack.org/#/c/496853/ Spec for minimal cache-headers in placement poc: https://review.openstack.org/#/c/495380/ * https://review.openstack.org/#/c/469048/ Update the placement deployment instructions This has been around for nearly 4 months. * https://review.openstack.org/#/c/489633/ Update RT aggregate map less frequently * https://review.openstack.org/#/c/494206/ Remove the Pike migration code for flavor migration * https://review.openstack.org/#/c/468797/ Spec for requesting traits in flavors * https://review.openstack.org/#/c/428481/ Request zero root disk for boot-from-volume instances (Relevant for making sure that disk allocations are correct.) * https://review.openstack.org/#/c/452006/ Add functional test for two-cell scheduler behaviors * https://review.openstack.org/#/c/496202/ Add functional migrate force_complete test * https://review.openstack.org/#/c/497399/ Extend ServerMovingTests with custom resources * https://review.openstack.org/#/c/497733/ WIP spec Report CPU features to placement service by traits API * https://review.openstack.org/#/c/496976/ Centralize allocation deletion in ComputeManager * https://review.openstack.org/#/c/496803/ Add missing unit tests for FilterScheduler._get_all_host_states * https://review.openstack.org/#/c/496847/ Add missing tests for _remove_deleted_instances_allocations * https://review.openstack.org/#/c/492247/ Use ksa adapter for placement conf & requests * https://review.openstack.org/#/c/492571/ Make compute log less verbose with allocs autocorrection * https://review.openstack.org/#/c/499678/ The start of a stack of fixes for allocations not being created when forced evacuation host * https://review.openstack.org/#/c/499615/ [placement] Add test for empty resources in allocation * https://review.openstack.org/#/c/498627/ Add functional recreate test for live migration pre-check fails * https://review.openstack.org/#/c/499826/ Include /resource_providers/uuid/allocations link (controversy around this one!) * https://review.openstack.org/#/c/499682/ [placement] api-ref GET /traits name:startswith * https://review.openstack.org/#/c/497978/ WIP: SPEC: Treat devices as generic resources * https://review.openstack.org/#/c/499583/ Add functional for live migrate delete -- Chris Dent (⊙_⊙') https://anticdent.org/ freenode: cdent tw: @anticdent