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

Chris Dent cdent+os at anticdent.org
Fri Apr 28 12:53:28 UTC 2017


Placement and resource providers update 21. Please let me know if
anything is incorrect or missing.

If you're going to be in Boston there are some placement related
sessions that may be worth your while:

* Scheduler Wars: A New Hope
    https://www.openstack.org/summit/boston-2017/summit-schedule/events/17501/scheduler-wars-a-new-hope

* Behind the Scenes with Placement and Resource Tracking in Nova
    https://www.openstack.org/summit/boston-2017/summit-schedule/events/17511/behind-the-scenes-with-placement-and-resource-tracking-in-nova

* Comparing Kubernetes and OpenStack Resource Management
    https://www.openstack.org/summit/boston-2017/summit-schedule/events/18726/comparing-kubernetes-and-openstack-resource-management

# What Matters Most

To much acclaim, the claims via the scheduler spec merged and work
has begun. Engaging with that is the top priority. There's plenty
of other work in progress too which needs to advance. Lots of links
within.

# What's Changed

Besides the claims spec merging, most of the progress has been on
moving the various themes forward, but no major changes.

# Help Wanted

(This section not changed since last week)

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).

* Helping to create and evaluate functional tests of the resource
        tracker and the ways in which it and nova-scheduler use the
        reporting client. For some info see
        https://etherpad.openstack.org/p/nova-placement-functional
        and talk to edleafe. He has a work in progress at:

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

        that seeks input and assistance.

* Performance testing. If you have access to some nodes, some basic
       benchmarking and profiling would be very useful. See the
       performance section below.

# Main Themes

## Claims in the Scheduler

Work has started on placement-claims blueprint:

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

We intentionally left some detail out of the spec because we knew
that we would find some edge cases while the implemention is done.

## Traits

The main API is in place, there's one patch left for a new command
to sync the os-traits library into the database:

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

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 are also pending changes to the os-traits library to add more
traits and automate creating symbols associated with the trait
strings:

     https://review.openstack.org/#/q/project:openstack/os-traits+status:open

## Shared Resource Providers

https://blueprints.launchpad.net/nova/+spec/shared-resources-pike

Initial work has begun on this:

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

## Docs

(This section has not changed since last week)

https://review.openstack.org/#/q/topic:cd/placement-api-ref

Several reviews are in progress for documenting the placement API.
This is likely going to take quite a few iterations as we work out
the patterns and tooling. But it's great to see the progress and
when looking at the draft rendered docs it makes placement feel like
a real thing™.

We need multiple reviewers on this stuff, early in the process, as
it helps to identify missteps in the phrasing and styling before we
develop bad habits.

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

## Performance

(This section has not changed since last week)

We're aware that there are some redundancies in the resource tracker
that we'd like to clean up

          http://lists.openstack.org/pipermail/openstack-dev/2017-January/110953.html

but it's also the case that we've done no performance testing on the
placement service itself.

We ought to do some testing to make sure there aren't unexpected
performance drains.

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

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

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

      https://blueprints.launchpad.net/nova/+spec/custom-resource-classes-in-flavors

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

Over in Ironic some functional and integration tests have started:

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

There's also a spec in progress discussing ways to filter baremetal
nodes by tenant/project:

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

# Other Code/Specs

* https://review.openstack.org/#/c/448791/
       Idempotent PUT for resource classes. This is something that was
       discovered while evaluating some resource tracker code. Stacked
       with it is code to allow the resource tracker to use it.

* 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.

* https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:get-inventory
       Clean up the interface for getting inventory information from
       virt drivers.

* 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 exception.

* 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.

* https://bugs.launchpad.net/nova/+bug/1632852
       Cache headers not produced by placement API. This was assigned to
       several different people over time, but I'm not sure if there is
       any active code.

* https://etherpad.openstack.org/p/placement-newton-leftovers
       There's still some lingering stuff on here, some of which is
       mentioned elsewhere in this message, but not all.

# End

You made it! Here's your cookie.

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


More information about the OpenStack-dev mailing list