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

Chris Dent cdent+os at anticdent.org
Fri Apr 13 13:57:29 UTC 2018


This is an "expand" update, meaning I've searched out new stuff to
add to lists. New stuff is added to the end of lists (of specs and
other).

# Most Important

Forbidden traits are now in the runway (until April 26th). Nested
providers on allocation candidates (and associated changes related
to nested representations) are key to many things. Consumer
generations is actively underway.

# What's Changed

Handling in the report client to fail over when an expected
micorvesrion is not there and a 406 is returned, has been removed.
We now expect placement to be upgraded first and for the report
client to be able to expect a certain minimum version.

The functional test for the report client has moved out of the
placement namespace.

Spec for consumer generations merged. Spec for mirror host
aggregates to placement merged. Error codes for placement API spec
merged.

An #openstack-placement IRC channel has been created. Please join if
you are tracking or working on placement related activity.

# Questions

* Is anyone already on the hook to implement the multiple member_of
   support described by this spec ammendment:
   https://review.openstack.org/#/c/555413/ ?

# Bugs

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

# Specs

(new(ly discovered) things are added at the end of this list)

Some of these look like they could be abandoned. Others are hanging
around for a long time because it seems we struggle to make progress
on things related to representing complex architectures with nested
providers. Apparently a hard problem.

* 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/552927/
       Spec for isolating configuration of placement database
       (This has a strong +2 on it but needs one more.)

* 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/556873/
     Handle nested providers for allocation candidates

* 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

## Update Provider Tree

The main body of this work has been merged. There are some tweaks
and cleanups at

     https://review.openstack.org/#/q/topic:bp/update-provider-tree

as well as some related work:

     * https://review.openstack.org/#/c/560444/
       libvirt using update provider tree

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

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

## Forbidden Traits

A way of expressing "I'd like resources that do _not_ have trait X".
This is ready for review:

        https://review.openstack.org/#/q/topic:bp/placement-forbidden-traits

(This is in the current runway and already has one +2 across the 4
patches.)

## Consumer Generations

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

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

We had some extensive discussion in IRC on how to manage data in the
face of three (somewhat conflicting) data models and flows in each
of the microversions associated with PUT /allocations/{consumer_id}.

# Extraction

Small bits of work on extraction continue on the
bp/placement-extract topic:

      https://review.openstack.org/#/q/topic:bp/placement-extract

The spec for optional database handling got some nice support
but needs more attention:

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

Jay is going to work on an os-resource-classes library (or perhaps a
merging of that functionality and os-traits into an os-placement
library) but is waiting on the discussion related to the
cpu-resources spec to resolve (which will drive some of the standard
resource classes).

A forum topic has been proposed about extracting placement:

     http://forumtopics.openstack.org/cfp/details/88

To repeat a bit from last week: A recent experiment with shrinking
the repo to just the placement dir reinforced a few things we
already know:

* The placement tests need their own base test to avoid 'from nova
    import test'
* That will need to provide database and other fixtures (such a
    config and the self.flags feature).
* And, of course, eventually, config handling. The container
    experiments above demonstrate just how little config placement
    actually needs (by design, let's keep it that way).

# Other

This is an expand week, so new stuff has been added to the end of
this list.

18 entries, +4 on last week. I thought there would be more, but I
guess much of the additions are in specs, and some stuff has merged.

* 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/546177/
        Provide framework for setting placement error codes

* 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/#/c/558089/
   Update check to ensure compute is using placement

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

* https://review.openstack.org/#/c/560107/
   normalize_name helper (in os-traits)

* https://review.openstack.org/#/q/topic:bug/1762789
   Fix issues with unicode uppercasing in normalizing resource
   classes

* 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

Weeee Ha Hootay.


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


More information about the OpenStack-dev mailing list