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

Chris Dent cdent+os at anticdent.org
Fri Aug 11 15:39:16 UTC 2017


Placement Update 31

# What Matters Most

rc1 was just cut. There was (and still is) a lot of last minute
change going on in code related to placement, the resource tracker
and the scheduler. No one will be surprised if there are additional
issues to resolve. So at this point important things to be doing are:

* watching for new bugs tagged placement, scheduler or resource-tracker
* inspecting the logs of tempest runs (even those that have passed)
   for unexpected log messages related to managing inventory or
   allocations
* using the code, especially to do things like resize, migrate,
   evacuate, etc
* reviewing code

# What's Changed

The scheduler and the resource tracker are now doing a little dance
with allocations that's being called "doubling". When an instance
needs to be in two places at once for a while (during any kind of
migration) the allocations related to that instance need to be
doubled. Conceptually this is pretty simple but various limitations
with the way we manage data and with the way we might have both pike
and ocata compute nodes at the same time make it rather involved.

The effort and attention required to get that working has meant that
shared resource providers, though somewhat working on the placement
side, are not yet supported on the nova side.

Early in queens we should add a uuid to migrations. This will be a
first step in making the doubling actions easier to process and clean
up.

# Help Wanted

See the beginning of this message.

# Main Themes

## Custom Resource Classes for Ironic

Some last minute issues were discovered with the management of
custom resource classes and existing inventory for Ironic. A recent
change which reflects the situation is:

     https://review.openstack.org/#/c/492964/4

The code to migrate flavors is still under review, mostly waiting to
see if stuff that uses it works:

     https://review.openstack.org/#/c/487954/

## 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).

Support for using traits in any practical way did not make it in Pike.

Traits on /resource_providers: https://review.openstack.org/#/c/474602/

## Shared Resource Providers

Though sharing providers didn't make their debut in Pike either, Alex
did find (and fix) some bugs, starting at:

     https://review.openstack.org/#/c/492395/

## Nested Resource Providers

This will start back up after we clean off the windscreen.

## Docs

A very small number of docs patches left to do for the api-ref:

     https://review.openstack.org/#/q/status:open+topic:cd/placement-api-ref

There are two changes which depend on that stack merging. A placement
publishing job:

     https://review.openstack.org/#/c/491860/

and an addition of 'placement' to service-type-authority

     https://review.openstack.org/#/c/462140/

Real live genuine placement docs will be totally awesome. Nearly
there.

# Other Code

(A lot of the stuff in this list is a loose end created in the last
two weeks of racing to rc1. Some of it is stuff that's just been
around for a while. I've tried to put more relevant stuff at the top
of the list.)

* MVP of the week gibi has created a pile of tests and experiments
   with resize-related behaviors. Current things include:
   * test server evacuation with placement
     https://review.openstack.org/#/q/topic:bug/1709902
   * WIP: resize with custom resource
     https://review.openstack.org/#/c/490461/
   * replace chance with filter scheduler in func tests
     https://review.openstack.org/#/c/491529/
   Putting these here at the top because they exercise the new stuff
   that is in some doubt.

* A tempest test of ServerGroupAntiAffinityFilter
   https://review.openstack.org/#/c/489754/
   Some debate on this one about whether tempest is the right place.

* https://review.openstack.org/#/c/489772/
   Always include accept application/json to get json error responses

* https://review.openstack.org/#/c/427200/
   Add a status check for legacy filters in nova-status.

* https://review.openstack.org/#/c/469048/
   Provide more information about installing placement

* https://review.openstack.org/#/c/468928/
   Disambiguate resource provider conflict message

* https://review.openstack.org/#/c/485209/
   gabbi tests for shared custom resource class

* https://review.openstack.org/#/c/489633/
   Update RT aggregates less often

* https://review.openstack.org/#/c/492247/
   Use ksa adapter for placement in the new way

* https://review.openstack.org/#/c/483506/
   Call _update fewer times in the resource tracker
   I'm relatively certain we can't do this one because of the way the
   code is structured.

* https://review.openstack.org/#/c/472378/
   A proposed fix to using multiple config locations with the
   placement wsgi app. There's some active discussion on whether the
   solution in mind is the right solution, or even whether the bug is
   a bug (it is!).

* https://review.openstack.org/#/c/468797/
   Spec for requesting traits in flavors

* https://review.openstack.org/#/c/483460/
   Retry resource provider registration when session's service
   catalog does not have placement (yet)

-- 
Chris Dent                      (⊙_⊙')         https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the OpenStack-dev mailing list