[openstack-dev] [nova] [placement] placement update 18-16

Chris Dent cdent+os at anticdent.org
Fri Apr 20 12:00:18 UTC 2018


This is a "contract" update, the lists of specs and other has not
had new things added to it, only stuff that is done removed. There
are of course new things out there, but they will be added next
week.

# Most Important

Nested providers in allocation candidates remains the important
stuff. There was a big email thread about some aspects of this

     http://lists.openstack.org/pipermail/openstack-dev/2018-April/129477.html

which eventually led to a modification of the spec on granular
resource requests for a new query parameter:

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

The other main thing in progress is consumer generations.

There's nothing currently in a runway or the runways queue related
to placement. Anything ready to go?

# What's Changed

Besides the new query parameter above we've also got: forbidden
traits support merged on both the placement and extra specs
processing sides, and some performance improvements in the SQL for
checking capacity when doing allocations. The framework that allows
error responses to include an error code has merged. Future errors
should provide codes, see:

     https://docs.openstack.org/nova/latest/contributor/placement.html#adding-a-new-handler

for information on how to do that. This is especially important for
the many different types of 409 responses that we can produce (even
more coming with consumer generations).

With forbidden being some definition of "done" it's no longer a main
theme and "Granular" will take its place as a new theme. This is
closely tied to nested providers but is enough of an undertaking to
get its own theme.

Update provider tree is also effectively done, so it is gone from
themes as well. There's ongoing work to use ProviderTree in the virt
drivers but that's not captured by the theme.

# Bugs

* Placement related bugs not yet in progress:  https://goo.gl/TgiPXb
      16, +2 on last week
* In progress placement bugs: https://goo.gl/vzGGDQ
      12, -1 on last week

# Specs

There have been some spec additions or modifications this week, but
those are not present here. This is last week's list, with abandoned
or merged stuff trimmed. Move these along before moving the others
along, if possible. Total last week: 14. Now: 12 (just from this
list). Merge or abandon more specs!

* https://review.openstack.org/#/c/549067/
         VMware: place instances on resource pool
         (using update_provider_tree)

* https://review.openstack.org/#/c/552924/
        Proposes NUMA topology with RPs

* https://review.openstack.org/#/c/544683/
        Account for host agg allocation ratio in placement

* https://review.openstack.org/#/c/552105/
        Support default allocation ratios

* https://review.openstack.org/#/c/438640/
        Spec on preemptible servers

* https://review.openstack.org/#/c/557065/
      Proposes Multiple GPU types

* https://review.openstack.org/#/c/555081/
      Standardize CPU resource tracking

* https://review.openstack.org/#/c/502306/
      Network bandwidth resource provider

* https://review.openstack.org/#/c/509042/
      Propose counting quota usage from placement

* https://review.openstack.org/#/c/560174/
    Add history behind nullable project_id and user_id

* https://review.openstack.org/#/c/559466/
    Return resources of entire trees in Placement

* https://review.openstack.org/#/c/560974/
    Numbered request groups use different providers

# Main Themes

## Nested providers in allocation candidates

Representing nested provides in the response to GET
/allocation_candidates is required to actually make use of all the
topology that update provider tree will report. That work is in
progress at:

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

(Someone want to clue me in as to whether that first topic is still
legit?)

## Mirror nova host aggregates to placement

This makes it so some kinds of aggregate filtering can be done
"placement side" by mirroring nova host aggregates into placement
aggregates.

     https://review.openstack.org/#/q/topic:bp/placement-mirror-host-aggregates

This is still in progress but took a little attention break while
nested provider discussions took up (and destroyed) brains.

## Consumer Generations

This allows multiple agents to "safely" update allocations for a
single consumer. The code is in progress:

      https://review.openstack.org/#/q/topic:bp/add-consumer-generation

This is moving along.

## Granular

Ways and means of addressing granular requests when dealing with
nested resource providers. Granular in this sense is grouping
resource classes and traits together in their own lumps as required.
The email debate mentioned above is about how those lumps would like
to associate with one another. Topic is:

     https://review.openstack.org/#/q/topic:bp/granular-resource-requests

# Extraction

The spec for optional database handling, which helps provide options
for migrating to an independent placement service as well as drive
experiments in extraction, has merged. Which means the stack of code
beginning at:

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

is legit for some review. The first commit on that stack was in
2016.

Two other main issues in extraction:

The creation of an os-resource-classes library. This will
encapsulate the standard resource classes in its own thing. Jay has
plans to work on this but the aforementioned nested stuff...

The placement unit and functional tests have a lot of dependence on
the fixtures and base classes used in the nova unit and functional
tests. For the time being that is okay, but it would be useful to
start unwinding that, soon. Same will be true for config.

# Other

As a contract, this will hopefully be shorter than last week and not
have anything new. There were 18 entries last week. There is plenty
of other work in progress that is not listed here.

14 now.

* https://review.openstack.org/#/c/546660/
         Purge comp_node and res_prvdr records during deletion of
         cells/hosts

* https://review.openstack.org/#/q/topic:bp/placement-osc-plugin-rocky
         A huge pile of improvements to osc-placement

* https://review.openstack.org/#/c/546713/
         Add compute capabilities traits (to os-traits)

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

* https://review.openstack.org/#/c/527791/
        Get resource provider by uuid or name (osc-placement)

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

* https://review.openstack.org/#/c/556669/
      Handle agg generation conflict in report client

* https://review.openstack.org/#/c/557086/
      Remove usage of [placement]os_region_name

* https://review.openstack.org/#/c/537614/
      Add unit test for non-placement resize

* https://review.openstack.org/#/c/554357/
      Address issues raised in adding member_of to GET /a-c

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

* https://review.openstack.org/#/q/topic:bug/1732731
    Bug fixes for sharing resource providers

* https://review.openstack.org/#/c/517757/
    WIP at granular in allocation candidates

* https://review.openstack.org/#/q/topic:bug/1760322
    Fix a bug with syncing traits. It can fail, ruining the whole
    service.

# End

Oh hi.


-- 
Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the OpenStack-dev mailing list