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

Chris Dent cdent+os at anticdent.org
Fri Jul 20 12:29:08 UTC 2018

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

This is placement update 18-28, a weekly update of ongoing development 
related to the [OpenStack](https://www.openstack.org/) [placement 

Thanks to Jay for providing one of these last week when I was away:

# Most Important

Feature freeze is next week. We're racing now to get as much of
three styles of work done as possible:

* Effectively managing nested and shared resource providers when
   managing allocations (such as in migrations).
* Correctly handling resource provider and consumer generations in
   the nova-side report client.
* Supporting reshaping provider trees.

The latter two are actively in progress. Not sure about the first.

As ever, we continue to find bugs with existing features that
existing tests are not catching. These are being found by people
experimenting. So: experiment please.

# What's Changed

Most of the functionality and fixes related to consumer generations
is in place on the placement side.

We now enforce that consumer identifiers are uuids.

# Bugs

* Placement related [bugs not yet in progress](https://goo.gl/TgiPXb):
   15, no change from last week.
* [In progress placement bugs](https://goo.gl/vzGGDQ) 15, +1 on last

# Main Themes

## Documentation

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

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

* The whens and wheres of re-shaping and VGPUs.

## Consumer Generations

These are in place on the placement side. There's some pending work
on using them properly and addresssing some nits:

* <https://review.openstack.org/#/c/577227/>
   Address nits from consumer generation

* <https://review.openstack.org/#/c/579163/>
   return 404 when no consumer found in allocs

* <https://review.openstack.org/#/c/583667/>
   Use placement 1.28 in scheduler report client
   (1.28 is consumer gens)

* <https://review.openstack.org/#/c/577905/>
   Use consumer generation in _heal_allocations_for_instance

## Reshape Provider Trees

The work to support a /reshaper URI that allows moving inventory and
allocations between resource providers is in progress. The database
handling (at the bottom of the stack) is pretty much ready, the
HTTP API is close except for a [small issue with allocation
schema](https://review.openstack.org/#/c/583907/), and the nova side
is in active progress.

That's all at: <https://review.openstack.org/#/q/topic:bp/reshape-provider-tree>

## Mirror Host Aggregates

This needs a command line tool:

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

## Extraction

I took some time yesterday to experiment with an alternative to the
os-resource-classes that [jay
created](https://github.com/jaypipes/os-resource-classes). [My
version](https://github.com/cdent/os-resource-classes) is, thus far,
just a simple spike that makes symbols pointing to strings, and
that's it. I've made a [proof of
concept](https://review.openstack.org/#/c/584084/) of integrating it
with placement.

Other extraction things that continue to need some thought are:

* infra and co-gating issues that are going to come up
* copying whatever nova-based test fixture we might like

# Other

20 entries two weeks ago. 29 now.

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

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

* <https://review.openstack.org/#/c/556669/>
   Check provider generation and retry on conflict

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

* <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/538498/>
    Convert driver supported capabilities to compute node provider

* <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/568713/>
    Test for multiple limit/group_policy qparams

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

* <https://review.openstack.org/#/c/581771/>
   Add placement.concurrent_udpate to generation pre-checks

* <https://review.openstack.org/#/c/583907/>
   [placement] disallow additional fields in allocations

* <https://review.openstack.org/#/c/582899/>
   Delete allocations when it is re-allocated
   (This is addressing a TODO in the report client)

* <https://review.openstack.org/#/q/topic:bug/1469179>
   local disk inventory reporting related

* <https://review.openstack.org/#/c/579922/>
   Delete orphan compute nodes before updating resources

* <https://review.openstack.org/#/c/584218/>
   Consider forbidden traits in early exit of _get_by_one_request
   (Another TODO-related fix)

* <https://review.openstack.org/#/c/583489/>
   Remove Ocata comments which expires now

* <https://review.openstack.org/#/c/523006/>
   Ignore some updates from virt driver

* <https://review.openstack.org/#/c/584338/>
   Docs: Add Placement to Nova system architecture

* <https://review.openstack.org/#/c/553461/>
   Resource provider examples (osc-placement)

# End

Thanks to everyone for all their hard work making this happen.

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

More information about the OpenStack-dev mailing list