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

Chris Dent cdent+os at anticdent.org
Fri Jun 9 13:01:08 UTC 2017

Placement update 26.

First a note from your editor: This will be the last of these I do
until July 7th. I'll be taking a break from sometime next week until
July. If someone else would like to do the three updates on the state of
placement and resource providers in that window that would be great.

# What Matters Most

It's actually a bit hard to be clear at the moment. Things are a bit
up in the air with some unresolved questions. The work for how to
deal with claims in the scheduler was proceeding apace at


and then at this week's scheudler subteam meeting we started talking
about "complex" allocations (reflected in an email thread:


and etherpad:


and a proposed (wip-ish) spec:


). Part of what's up in the air about this is a) there isn't yet
agreement that this is the right way to go, b) it's not clear what
the impact of this change will be on the processing done in the
filter scheduler, mostly in terms of how the provided information is
used (if at all) during the filtering and weighing.

In the thread linked above there's a series of question that are
trying to shine lights into the various corners so we can make an
informed decision. From my perspective, writing answers to those
questions will help us to resolve the current situation and help us
to not get caught in these common cycles of questioning that we seem
to do when working on scheduler-related stuff.

# What's Changed

Incremental progress across the board. Some new code linked in

# Help Wanted

Areas where volunteers are needed.

* General attention to bugs tagged 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 but
is having a period of reflection and discussion. See the "matters
most" section above.


## Traits

The traits blueprint has been completed, based on the work described
in the spec, but we still have no way to make use of the traits:

* The placement API and the get_all_by_filters method on the
   ResourceProviderList object have no way of expressing that a
   request for resource providers should be filtered by a set of
   trait requirements (or preferences).

* There's nothing on the nova-scheduler side of things which allows
   expressing a trait that would be sent to the placement API.

There is a new spec (for queens) for the second part:


And there is some old code for the first part that will need to
revitalized and will likely be impacted by the outcome of "what
matters most" above:


## Shared Resource Providers

Currently pending resolution of the complex allocations discussion.

## Nested Resource Providers

Work has resumed on 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.


## Docs

Lots of placement-related api docs have merged or are in progress:

* https://review.openstack.org/#/q/status:open+topic:cd/placement-api-ref

Soon the whole API will be documented, so it will be time to turn on
a publishing job (only drafts are created now, as far as I recall).

It's interesting to note that in the process of documenting the API
we found (and fixed) a few (minor) bugs.

# Other Code/Specs

* https://review.openstack.org/#/c/472378/
   A proposed fix to using multiple config locations with the
   placement wsgi app. There's some active discussion on whether the
   solution in mind is the right solution, or even whether the bug is
   a bug (it is!).

* https://review.openstack.org/#/c/470578/
   Add functional test for local delete allocations

* 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/453916/
      Don't send instance updates from compute if not using filter

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

* 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/471067/
   Use util.extract_json in allocations handler

# End


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

More information about the OpenStack-dev mailing list