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

Chris Dent cdent+os at anticdent.org
Fri Mar 23 14:15:55 UTC 2018


Another week, another pile of code and specs to write and review.

This week will be a "contract" style update: No new links to code
and specs in the listings sections. Next week will be an "expand",
when there will be. Perhaps this can help make sure that in progress
stuff doesn't get lost in the face of the latest thing? Dunno, worth
trying.

# Most Important

While work has started on some of the already approved specs, there
are still a fair few under review, and a couple yet to be written.
Given the number of specs we've got going it's entirely likely we've
bitten off more than we can chew, but we'll see. Getting specs
landed early makes it easier to get the functionality merged sooner,
so: review some specs.

In active code reviews, the update provider tree and nested
providers in allocation candidates work remains crucial foundations
for nearly everything required on the nova side.

# What's Changed

'member_of' has been added to GET /allocation_candidates making it
possible to do a sort of pre-filter based on aggregate membership.
There are some potential improvements to this, being discussed in an
ammendment to the spec:

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

Placement service exceptions have been moved to
nova/api/openstack/placement/exception.py

# Questions

[Add yours here?]

# Bugs

* Placement related bugs not yet in progress:  https://goo.gl/TgiPXb
    15, same as last week
* In progress placement bugs: https://goo.gl/vzGGDQ
    13, +2 on last week

# Specs

(There are more than this, but this is a contract week.)

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

* https://review.openstack.org/#/c/418393/
     Provide error codes for placement API

* https://review.openstack.org/#/c/545057/
     mirror nova host aggregates to placement API

* 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

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

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

# Main Themes

## Update Provider Tree

The ability of virt drivers to represent what resource providers
they know about--whether that be numa, or clustered resources--is
supported by the update_provider_tree method. Part of it is done,
but some details remain:

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

There's new stuff in here for the add/remove traits and aggregates
stuff discussed above.

## Nested providers in allocation candidates

This is making progress but during review we identified potential
inconsistencies of the semantics of the various filtering
mechanisms. Jay soldiers on at:

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

## Request Filters

A generic mechanism to allow the scheduler to futher refine the
query made to /allocation_candidates to account for things like
aggregates.

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

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

It's part of what will make the req filters above useful.

## Forbidden Traits

A way of expressing "I'd like resources that do _not_ have trait X".
I've started this, but it is mostly just feeling around at this
point:

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

## Consumer Generations

Edleafe will start the ball rolling on this and I (cdent) will be
his virtual pair.

# Extraction

There's now a specless blueprint on which to hang extraction related
changes:

     https://blueprints.launchpad.net/nova/+spec/placement-extract

See:

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

for changes in progress, including moving some tests.

A spec was requested to explain the issues surrounding the optional
placement database connection. That's here:

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

This is _very_ useful when doing experiments for finding the
important boundaries between nova and placement and also has no
impact on a configuration that doesn't use it. Some of those
experiments are in a blog post series ending with

     https://anticdent.org/placement-container-playground-5.html

The other major need for the extraction work is creating an
os-resources-classes library. Are there any volunteers for this?

# Other

This is not everything, because this is contract week. That is:
considering reviewing this older stuff, get it out of the way and
done, off the radar, etc.

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

* https://review.openstack.org/#/c/547812/
     Migrate legacy-osc-placement-dsvm-functional job in-tree

* 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/533195/
    Fix comments in get_all_with_shared()

* https://review.openstack.org/#/q/topic:bug/1732731
    Fixes related to shared providers

* https://review.openstack.org/#/c/513264/
    Add more functional test for placement.usage

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

# End

Next week will be an expand. We win a prize if we can add things
without making this message longer.

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


More information about the OpenStack-dev mailing list