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

Chris Dent cdent+os at anticdent.org
Fri Jun 29 13:03:29 UTC 2018


HTML: https://anticdent.org/placement-update-18-26.html

This is placement update 18-26, a weekly update of ongoing
development related to the [OpenStack](https://www.openstack.org/)
[placement
service](https://developer.openstack.org/api-ref/placement/). This
is an expand version.

For the next few weeks the "Specs" section will not be present. When
we start reviewing specs for Stein, I'll add it back in.

# Most Important

Nested allocation candidates are getting very close, but remain a
critical piece of functionality. After that is making sure that we
are progressing on the /reshapher functionality and bringing the
various virt drivers into line with all this nice new functionality
(which mostly means ProviderTrees).

All that nice new functionality means bugs. Experiment. Break stuff.
Find bugs. Fix them.

Speaking of bugs: a collection of problems—not covered by tests—
with consumer generations was discovered this week. Also a problem
with the limit functionality on GET /allocation_candidates and how
that works when force_hosts is being used. Fixes are in progress but
these issues are a strong indicator of our need to make sure that we
are experimenting with things: it's where features integrate with
each other that problems are showing up.

# What's Changed

Quite a lot of bug fixes and bug demonstrations have merged in this
week, but features mostly stable.

# Bugs

* Placement related [bugs not yet in
   progress](https://goo.gl/TgiPXb): 19, two more than last week.
   We've got some work either starting or killing these.
* [In progress placement bugs](https://goo.gl/vzGGDQ) 10, +2 on last
   time.

# Questions

As far as I can tell there was no discussion on last week's
question, so here it is again:

In [IRC
[last week]](http://eavesdrop.openstack.org/irclogs/%23openstack-placement/%23openstack-placement.2018-06-21.log.html#t2018-06-21T13:21:14)
we had an extensive discussion about being able to set custom
resource classes on the resource provider representing a
compute node, outside the virt driver. At the moment the virt driver
will clobber it. Is this what we always want?

# Main Themes

## Documentation

This is a section for reminding us to document all the fun stuff we
are enabling. Open areas include:

* Documenting optional placement database. A bug,
   [1778227](https://bugs.launchpad.net/nova/+bug/1778227) has been
   created to track this. This has started, for the install docs, but
   there are more places that need to be touched.

* "How to deploy / model shared disk. Seems fairly straight-forward,
   and we could even maybe create a multi-node ceph job that does
   this - wouldn't that be awesome?!?!", says an enthusiastic Matt
   Riedemann.

* The when's and where's of re-shaping and VGPUs.

## Nested providers in allocation candidates

As far as I can tell the main thing left here is to turn it on in a
microversion. That code is at:

* <https://review.openstack.org/#/c/565487/>

## Consumer Generations

There are new patches in progress on this, related to the bugs that
were discovered:

* <https://review.openstack.org/#/q/topic:bug/1778576>
* <https://bugs.launchpad.net/nova/+bug/1778591>

There are a patches left on the consumer generation topic, some tidy
ups, and some stuff related to healing allocations:

* <https://review.openstack.org/#/q/topic:bp/add-consumer-generation>

Is someone already working on code for making use of this in the
resource tracker?

## Reshape Provider Trees

This allows moving inventory and allocations that were on resource
provider A to resource provider B in an atomic fashion. The
blueprint topic is:

* <https://review.openstack.org/#/q/topic:bp/reshape-provider-tree>

There are WIPs for the HTTP parts and the resource tracker parts, on
that topic.

## Mirror Host Aggregates

This needs a command line tool:

* <https://review.openstack.org/#/c/575912/>

## Extraction

A while back, Jay made a first pass at an
[os-resource-classes](https://github.com/jaypipes/os-resource-classes/),
which needs some additional eyes on it. I personally thought it
might be heavier than required. If you have ideas please share them.

An area we will need to prepare for is dealing with the various
infra and co-gating issues that will come up once placement is
extracted.

We also need to think about how to manage the fixtures currently
made available by nova that we might need or want to use in
placement. Some of them might be worth sharing. How should we do
that?

# Other

18 entries last week. 24 now.

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

* <https://review.openstack.org/#/q/topic:bp/placement-osc-plugin-rocky>
   A huge pile of improvements to osc-placement

* <https://review.openstack.org/#/c/527791/>
   Get resource provider by uuid or name (osc-placement)

* <https://review.openstack.org/#/c/556669/>
   Tighten up ReportClient use of generation

* <https://review.openstack.org/#/c/537614/>
   Add unit test for non-placement resize

* <https://review.openstack.org/#/c/493865/>
   cover migration cases with functional tests

* <https://review.openstack.org/#/c/535517/>
   Move refresh time from report client to prov tree

* <https://review.openstack.org/#/c/561770/>
   PCPU resource class

* <https://review.openstack.org/#/c/566166/>
   rework how we pass candidate request information

* <https://review.openstack.org/#/c/564876/>
   add root parent NULL online migration

* <https://review.openstack.org/#/q/topic:bp/bandwidth-resource-provider>
   add resource_requests field to RequestSpec

* <https://review.openstack.org/#/c/560107/>
   normalize_name helper (in os-traits)

* <https://review.openstack.org/#/c/538498/>
   Convert driver supported capabilities to compute node provider
   traits

* <https://review.openstack.org/#/c/568639/>
   Use placement.inventory.inuse in report client

* <https://review.openstack.org/#/c/517921/>
   ironic: Report resources as reserved when needed

* <https://review.openstack.org/#/c/568713/>
   Test for multiple limit/group_policy qparams

* <https://review.openstack.org/#/c/578048/>
   [placement] api-ref: add traits parameter

* <https://review.openstack.org/#/c/578826/>
   Convert 'placement_api_docs' into a Sphinx extension

* <https://review.openstack.org/#/c/577915/>
   [placement] Fix bug in consumer generation handling
   (This is likely to be replaced by something better, but including
   it for reference.)

* <https://review.openstack.org/#/c/568713/>
   Test for multiple limit/group_policy qparams

* <https://review.openstack.org/#/c/579110/>
   Fix placement incompatible with webob 1.7

* <https://review.openstack.org/#/c/576693/>
   Disable limits if force_hosts or force_nodes is set

* <https://review.openstack.org/#/c/576820/>
   Rename auth_uri to www_authenticate_uri

* <https://review.openstack.org/#/q/project:openstack/blazar+topic:bp/placement-api>
   Blazar's work on using placement

# End

A butterfly just used my house as a south to north shortcut. That'll
do.

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


More information about the OpenStack-dev mailing list