[openstack-dev] [nova] placement/resource providers update 34

Chris Dent cdent+os at anticdent.org
Fri Sep 1 20:51:31 UTC 2017


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


More information about the OpenStack-dev mailing list