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

Chris Dent cdent+os at anticdent.org
Fri May 26 13:12:37 UTC 2017

Once more with a placement and resource providers update. This is
number 24.

# What Matters Most

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

# What's Changed

This week there were a few different discussions that eventually led
us to a hybrid solution for how claims are going to be managed:

* we'll make an initial claim in nova-scheduler (so that the claim
   happens as early as possible in the process)
* the scheduler will pass alternate hosts that in the same cell as
   primary hosts that it returns
* this is so conductors can retry to an already chosen alternate
   host and change allocations if there is last minute to failure to
   emplace a server on a host

There was a long thread on the operators list about some of this


Some of the details of this remain to be worked out, but the code is
in progress starting at:


Do not be surprised if there are further changes to this model as we
discover more issues.

# Help Wanted

(This section _has_ changed since last time, removing some stuff that's
gone stale for now.)

Areas where volunteers are needed.

* General attention to bugs tagged placement:

   There are some new bugs that are relatively low hanging fruit:

   traits link in all microversions:

   bad error message when failing to create existing resource

   placement install process not documented:

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

# Main Themes

## Claims in the Scheduler

Work has started on placement-claims blueprint:


There are two tracks of work, but the one that is currently the
leading contender starts at


More info above in "What's Changed".

## Traits

The main API is in place. Debate raged on how best to manage updates
of standard os-traits. In the end a cache similar to the one used
for resource classes was created:


Work will be required at some point on filtering resource providers
based on traits, and adding traits to resource providers from the
resource tracker. There's been some discussion on that in the
reviews of shared providers (below) because it will be a part of
the same mass (MASS!) of SQL.

## Shared Resource Providers

(There's been some progress on this track, but the links and
messages here remain the same.)

This work (when finished) makes it possible (amongst other things)
for use of shared disk resources to be tracked correctly.


Reviewers should be aware that the patches, at least as of today,
are structured in a way that evolves from the current state to the
eventual desired state in a way that duplicates some effort and
code. This was done intentionally by Jay to make the testing and
review more incremental. It's probably best to read through the
entire stack before jumping to any conclusions.

## Docs




Large number of reviews are in progress for documenting the placement API.
It's great to see the progress and when looking at the draft rendered docs
it makes placement feel like a real thing™.

Find me (cdent) or Andrey (avolkov) if you want to help out or have
other questions.

## Nested Resource Providers

(This section has not changed since last week)

On hold while attention is given to traits and claims. There's a
stack of code waiting until all of that settles:


## Ironic/Custom Resource Classes

(This section has not changed since last week)

There's a blueprint for "custom resource classes in flavors" that
describes the stuff that will actually make use of custom resource


The spec has merged, but the implementation has not yet started.

Over in Ironic some functional and integration tests have started:


# Other Code/Specs

* 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

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

* https://review.openstack.org/#/c/460231/
    Use a specific error message for inventory in use, not just the db

* https://review.openstack.org/#/c/458049/
    Add a test to ensure that placement microversions have no gaps
    when there is more than one handler for a URL. This ought to be a
    quick and easy merge.

* 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

# End

Your reward is a brief moment of respite from the despair of existence.

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

More information about the OpenStack-dev mailing list