[openstack-dev] [nova] [placement] resource providers update 41

Eric Fried openstack at fried.cc
Fri Nov 3 21:23:48 UTC 2017

Standing in for cdent while he's across the planet.  If this update
doesn't live up to the quality you've come to expect, blame it on that
guy being an overachiever.

# Most Important

GET /allocation_candidates is big and complicated, but is going to get
exponentially more so as we start handling traits, nested, and granular.
 There is a growing pile of patches to refactor this monstrosity, behind
which those efforts are queued.  People (particularly those who
understand sqlalchemy) should help out by scrutinizing these patches for
sanity, proposing improvements, and writing functional tests to validate
the more complicated scenarios.

Competing/overlapping series starting at [1] and [2].

[1] https://review.openstack.org/#/c/516778/
[2] https://review.openstack.org/#/c/514197/

# What's Changed

Symmetric GET and PUT of allocations: It was pointed out that GET
/allocation_candidates ought to be returning the allocation requests in
PUTtable format.  The spec [3] has been updated accordingly.  The code
[4] has not, and cdent won't be mucking with it for a couple of weeks.
efried may take over in the interim, time permitting.

[3] https://review.openstack.org/#/c/508164/
[4] https://review.openstack.org/#/c/510626/

# Main Themes

## Nested Resource Providers


The series for the majority of this work has had thorough reviews and is
getting close.  The major missing piece (not yet proposed) is how GET
/allocation_candidates will deal.  That'll be queued behind The Big
Refactor (see # Most Important).

ACTION: Cores to do final reviews and +W the series starting at

## Migration Allocations


We're down to one patch: https://review.openstack.org/#/c/507638/

## Alternate Hosts


We're still waiting to make sure the whole series  represents the
desired direction and doesn't reveal any major gotchas.  This may stall
while edleafe is in Sydney.

## Traits

On the flavor-to-placement side, work [5] has been started against
blueprint request-traits-in-nova [6].  However, this blueprint
represents a subset of the granular resource request work (see below)
which may be further along and therefore may supersede it.

[5] https://review.openstack.org/#/c/492026/
[6] https://blueprints.launchpad.net/nova/+spec/request-traits-in-nova

On the placement side, work [7] has started against blueprint
add-trait-support-in-allocation-candidates, but is on hold pending The
Big Refactor (see # Most Important).

[7] https://review.openstack.org/#/c/479776/

## Granular Resource Requests


Patches have started to merge.  On the flavor-to-placement side (series
starting at [9]) patches are proposed from parsing the flavor up to (but
not including) actually calling GET /allocation_candidates with the
querystring in the new format.  On the placement side, patches are
(merged or) proposed from parsing the querystring up to sending the data
into the internal functions [10].  Code to make the GET
/allocation_candidates API work and plumb the two sides together has not
yet been proposed.

[9] https://review.openstack.org/#/c/515151/
[10] https://review.openstack.org/#/c/514092/

# Other

I don't know how Chris winnows down from the ~200 patches returned by
this search:


...so for now I'm just going to copy the list from last week with merged
patches removed:

* https://review.openstack.org/#/c/508555/
   Re-use existing ComputeNode on ironic rebalance (johnthetubaguy
fighting functional test failures)

* https://review.openstack.org/#/c/512553/
   Reproduce bug 1724172 in the functional test env
   (this is an allocations related bug)

* https://review.openstack.org/#/c/493865/
   cover migration cases with functional tests

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

* https://review.openstack.org/#/c/495159/
   Test resource allocation during soft delete

* https://review.openstack.org/#/c/499539/
   Moving more utils to ServerResourceAllocationTestBase

* https://review.openstack.org/#/c/503037/
   factor out compute service start in ServerMovingTest

* https://review.openstack.org/#/c/505202/
   Change live_migrate tests to use fakedriver

* https://review.openstack.org/#/c/497399/
   Extend ServerMovingTests with custom resources

* https://review.openstack.org/#/c/506175/
  get_inventory in vmware driver

* https://review.openstack.org/#/q/topic:bug/1702420
    Fixes for shared providers map being incorrect

* https://review.openstack.org/#/q/topic:bp/placement-osc-plugin
    Placement plugin for osc

* https://review.openstack.org/#/c/508262/
    Only log not correcting allocation once per period

* https://review.openstack.org/#/c/499539/
    Stack of functional test fixups

* https://review.openstack.org/#/c/495380/
    [placement] manage cache headers for /resource_providers
    (This needs some rebasing to get the microversion handling right)

* https://review.openstack.org/#/c/513526/
   Enable limiting GET /allocation_candidates

* https://review.openstack.org/#/c/513057/
   [placement] Clean up TODOs in allocations.yaml gabbit
   (Easy +2/+W)

* https://review.openstack.org/#/q/topic:bug/1578989+status:open
   move placement client in neutron to neutron-lib and add

* https://review.openstack.org/#/c/494206/
   Remove the Pike migration code for [Ironic] flavor migration

* https://review.openstack.org/#/c/511342/
   placement: add API reference for create inventory

* https://review.openstack.org/#/q/topic:bp/add-support-for-vgpu+status:open
  Add support for VGPU

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

* https://review.openstack.org/#/c/512497/
  refactor placement version check

  placement api ref cleanups

* https://review.openstack.org/#/c/513834/
  a refactor to a bit of db/test_resource_provider.py

* https://review.openstack.org/#/c/513149/
  demo test of https://bugs.launchpad.net/nova/+bug/1724613
  and https://bugs.launchpad.net/nova/+bug/1724633

# End

More information about the OpenStack-dev mailing list