[openstack-dev] [nova] [placement] resource providers update 18-02

Chris Dent cdent+os at anticdent.org
Fri Jan 12 12:42:48 UTC 2018


Resource provider and placement 18-02. Getting a bit more warmed up
here, so should be more stuff from more places.

# Most Important

Completing alternate hosts and exposing the basic nested resource
providers functionality is what matters. We've reached that stage in
the cycle where at least some interesting ideas, inspired by current
work, need to be pushed off to Rocky.

Speaking of Rocky, the etherpad for PTG topics is underway at

     https://etherpad.openstack.org/p/nova-ptg-rocky

In typical fashion there's plenty of stuff on there related to
placement already, but there's likely plenty more to talk about. If you
have something, even if it is tentative, add it. The list will get
more structured closer to the PTG.

As we approach the end of the cycle finding and fixing bugs ought to
become the focus.

# What's Changed

Eric gave a nice summary of this week's scheduler meeting in
yesterday's Nova team meeting. It's worth reading:

     http://eavesdrop.openstack.org/meetings/nova/2018/nova.2018-01-11-14.01.log.html#l-74

# Help Wanted

There are a fair few unstarted bugs related to placement that could do
with some attention. Here's a handy URL: https://goo.gl/TgiPXb

# Main Themes

## Nested Providers

The nested provider work is proceeding along two main courses: getting
the ProviderTree on the nova side gathering and syncing all the
necessary information, and enabling nested provider searching when
requesting /allocation_candidates. Both of these are within the same
topic:

    https://review.openstack.org/#/q/topic:bp/nested-resource-providers

We've identified the need to handle conflicts responses (409) in a more
generic fashion in the ProviderTree. The new plan is, when a conflict
is caused by mismatched generations, reset and reload the entire tree
rather than attempting to resync at a granular level.

# Alternate Hosts

The last piece of the puzzle, changing the RPC interface, is pending:

     https://review.openstack.org/#/q/topic:bp/return-alternate-hosts

Some issues with resizes and interaction with the CachingScheduler
have been addressed.

Related to this, exploration has started on limiting the number of
responses that the scheduler will request when requesting hosts (some
of which will become alternates):

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

## Misc Traits, Shared, Etc Cleanups

There's a stack of code that fixes up a lot of things related to
traits, sharing providers, test additions and fixes to those tests. At
the moment the changes are in a bug topic:

         https://review.openstack.org/#/q/topic:bug/1702420

# Other

* Extract instance allocation removal code
   https://review.openstack.org/#/c/513041/

* Sending global request ids from nova to placement
   https://review.openstack.org/#/q/topic:bug/1734625

* VGPU suppport
   https://review.openstack.org/#/q/topic:bp/add-support-for-vgpu

* Use traits with ironic
   https://review.openstack.org/#/q/topic:bp/ironic-driver-traits

* Move api schemas to own dir
   https://review.openstack.org/#/c/528629/

* request limit /allocation_candidate WIP
   https://review.openstack.org/#/c/531517/

* Update resources once in update available resources
   https://review.openstack.org/#/c/520024/
   (This ought, when it works, to help address some performance
   concerns with nova making too many requests to placement)

* Fix resource provider delete
   https://review.openstack.org/#/c/529519/

* spec: treat devices as generic resources
   https://review.openstack.org/#/c/497978/
   This is a WIP and will need to move to Rocky

* log options at DEBUG when starting wsgi app
   https://review.openstack.org/#/c/519462/

* Support aggregate affinity filters/weighers
   https://review.openstack.org/#/q/topic:bp/aggregate-affinity
   A rocky targeted improvement to affinity handling

* Move placement body samples in docs to own dir
   https://review.openstack.org/#/c/529998/

* Improved functional test coverage for placement
   https://review.openstack.org/#/q/topic:bp/placement-test-enhancement

* Functional tests for traits api
   https://review.openstack.org/#/c/524094/

* Functional test improvements for resource class
   https://review.openstack.org/#/c/524506/

* annotate loadapp() (for placement wsgi app) as public
   https://review.openstack.org/#/c/526691/

* Remove microversion fallback code from report client
   https://review.openstack.org/#/c/528794/

* Document lack of side-effects in AllocationList.create_all()
   https://review.openstack.org/#/c/530997/

* Fix documentation nits in set_and_clear_allocations
   https://review.openstack.org/#/c/531001/

* WIP: SchedulerReportClient.set_aggregates_for_provider
   https://review.openstack.org/#/c/532995/
   This is likely for rocky as it depends on changing the api for
   aggregates handling on the placement side to accept and provide
   a generation

* Naming update cn to rp (for clarity)
   https://review.openstack.org/#/c/529786/

* Add functional test for two-cell scheduler behaviors
   https://review.openstack.org/#/c/452006/
   (This is old and maybe out of date, but something we might like to
   resurrect)

* Make API history doc consistent
   https://review.openstack.org/#/c/477478/3

* WIP: General policy sample file for placement
   https://review.openstack.org/#/c/524425/

# End

Hi, you made it this far? Awesome. Go review some of that stuff in the
Other list!

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


More information about the OpenStack-dev mailing list