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

Chris Dent cdent+os at anticdent.org
Fri Jun 22 15:13:05 UTC 2018


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

This is placement update 18-25, 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 a "contract" version, meaning that the spec and other lists
do no have new additions, they are updated to remove what has been
merged or abandoned. This is done to encourage people to review
existing stuff before jumping on whatever the new shiny is.

With this edition I'm adding a Documentation theme as it was
something that's been pointed out recently as a gap.

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

# What's Changed

The optional placement database changes merged. This means that if
[placement_database]/connection is set, that's the target database
for placement data, instead of the nova_api database connection.

Support for consumer generations in allocations has merged.

The PlacementDirect non-HTTP interface to placement has merged.

Most placement unit tests no longer rely on the nova base test
classs.

The spec for Reshape Provider Trees (the thing driving /reshaper)
merged.

# Bugs

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

# Questions

In [IRC
yesterday](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?

# Specs

Total last week: 13. Now: 12

Spec-freeze has passed, so presumably exceptions will be required
for these. For those that are just not going to happen in Rocky, I
guess we can start pushing them into Stein.

* <https://review.openstack.org/#/c/549067/>
   VMware: place instances on resource pool (using update_provider_tree)

* <https://review.openstack.org/#/c/552924/>
   Proposes NUMA topology with RPs

* <https://review.openstack.org/#/c/544683/>
   Account for host agg allocation ratio in placement

* <https://review.openstack.org/#/c/552105/>
   Support default allocation ratios
   This one has two +2, but is pending some decision on spec-freeze.

* <https://review.openstack.org/#/c/438640/>
   Spec on preemptible servers

* <https://review.openstack.org/#/c/555081/>
   Standardize CPU resource tracking

* <https://review.openstack.org/#/c/509042/>
   Propose counting quota usage from placement

* <https://review.openstack.org/#/c/560174/>
   Add history behind nullable project_id and user_id

* <https://review.openstack.org/#/c/565730/>
   Placement: any traits in allocation_candidate query

* <https://review.openstack.org/#/c/565741/>
   Placement: support mixing required traits with any traits

* <https://review.openstack.org/#/c/559718/>
   [WIP] Support Placement in Cinder

* <https://review.openstack.org/#/c/569011/>
   Count quota based on resource class

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

* "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/>

There have been some tweaks to account for the behavior leakage
discussed last week.

## Consumer Generations

There are a couple of patches left on the consumer generation topic:

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

I thought this was done but there's one thing left. A command line
tool:

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

## Extraction

The optional placement database stuff has merged, and is running in
the nova-next job. As mentioned above there are documentation tasks
to do with this.

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

23 entries last week. 18 now. Nice merging. But we've added quite a
few, we just don't see them because this is a contract week.

* <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/477478/>
   placement: Make API history doc more consistent

* <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/#/q/topic:bug/1732731>
   Bug fixes for sharing resource providers

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

# End

Hi.




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


More information about the OpenStack-dev mailing list