[openstack-dev] [nova] placement/resource providers update 25

Chris Dent cdent+os at anticdent.org
Fri Jun 2 15:17:07 UTC 2017



Placement update 25. Only 75 more to reach 100.

# What Matters Most

Claims against the placement API remain the highest priority. There's
plenty of other work in progress too which needs to advance. Lots of
links within.

# What's Changed

The entire shared resource providers stack has merged. This doesn't
mean we have support for them yet, but rather that it is possible to
express a query of the placement db that will include results
that are associated (via aggregates) with shared resource providers.

A new version of the os-traits library was required because the
routine it was using to walk modules could escape the local package,
leading to either brokenness or at least weirdness.

Work has begun on having project and user id information included in
allocations (see below).

Incremental progress across many other areas.

# Help Wanted

(This section _has_ changed since last time, removing some bug links
because the fixes have been started and are now linked below.)

Areas where volunteers are needed.

* General attention to bugs tagged placement:
            https://bugs.launchpad.net/nova/+bugs?field.tag=placement

* Helping to create api documentation for placement (see the Docs
    section below).

# Main Themes

## Claims in the Scheduler

Work is in progress on having the scheduler make resource claims.

       https://review.openstack.org/#/q/status:open+topic:bp/placement-claims

The current choice for how to do this is to pass instance uuids as a
separate parameter in the RPC call to select_destinations. This
information is required to be able to make the claims/allocations
(which are identified by consumer uuid).

## Traits

The main API is in place. Debate raged on how best to manage updates
of standard os-traits. Eventually a simple sync done once per
process seemed like the way to go, without having a cache:

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

This needs to address some concurrency issues.

There's also a small cleanup to the os-traits library:

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

## Shared Resource Providers

The stack that makes the database side of things start to work has
merged:

     https://review.openstack.org/#/q/status:merged+topic:bp/shared-resources-pike

This will allow work on the API and resource-tracker/scheduler side
to move along.

## Docs

Lots of placement-related api docs in progress on a few different
topics:

* https://review.openstack.org/#/q/status:open+topic:cd/placement-api-ref
* https://review.openstack.org/#/q/status:open+topic:placement-api-ref-add-resource-classes-put
* https://review.openstack.org/#/q/status:open+topic:bp/placement-api-ref

We should a) probably get that stuff on the same topic, b) make sure
work is not being duplicated.

## Nested Resource Providers

Work has resumed on nested resource providers.

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

Currently having some good review discussion on data structures and
graph traversal and search. It's a bit like being back in school.

## User and Project IDs in Allocations

This will allow placement allocations to be considered when doing
resource accounting for things like quota. User id and project id
information is added to allocation records and a new API resource is
added to be able to get summaries of usage by user or project.

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

# Other Code/Specs

* https://review.openstack.org/#/c/460147/
    Use DELETE inventories method in report client.

* https://review.openstack.org/#/c/427200/
     Add a status check for legacy filters in nova-status.

* https://review.openstack.org/#/c/454426/
     Handle new hosts for updating instance info in scheduler
     Currently in merge conflict.

* https://review.openstack.org/#/c/453916/
     Don't send instance updates from compute if not using filter
     scheduler

* https://review.openstack.org/#/q/project:openstack/osc-placement
     Work has started on an osc-plugin that can provide a command
     line interface to the placement API.
     It's quite likely that this code is going to need to be adopted by
     someone new.

* https://review.openstack.org/#/c/457636/
    Devstack change to install that plugin. This has two +2, but no
    +W.

* https://review.openstack.org/#/c/469037/
    Cleanups for _schedule_instances()

* https://review.openstack.org/#/c/469047/
   Update placement.rst to link to more specs

* https://review.openstack.org/#/c/469048/
   Provide more information about installing placement

* https://review.openstack.org/#/c/468928/
   Disambiguate resource provider conflict message

* https://review.openstack.org/#/c/468923/
   Adjust resource provider links by microversion

# End

I was unable to go digging for things as much as usual this week due
to other business. If I've missed something, my apologies, please
add it to the thread in a followup.

Your prize is some cornish clotted cream.

-- 
Chris Dent                  ┬──┬◡ノ(° -°ノ)       https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the OpenStack-dev mailing list