[placement] update 19-00

Chris Dent cdent+os at anticdent.org
Fri Jan 4 15:29:19 UTC 2019

HTML: https://anticdent.org/placement-update-19-00.html

Welcome to the first placement update of 2019. May all your
placements have sufficient resources this year.

# Most Important

A few different people have mentioned that we're approaching crunch
time on pulling the trigger on deleting the placement code from
nova. The week of the 14th there will be a meeting to iron out the
details of what needs to be done prior to that. If this is important
to you, watch out for an announcement of when it will be. This is a
separate issue from putting placement under its own governance, but
some of the requirements
for that, notably a deployment tool demonstrating an upgrade from
placement-in-nova to placement-alone, are relevant.

Therefore, reviewing and tracking the deployment tool related work
remains critical. Those are listed below.

Also, it is spec freeze next week. There are quite a lot of specs
that are relevant to placement and scheduling that are close, but
not quite. Mel has sent out [an
about which specs most need attention.

# What's Changed

* There's an
   [os-resource-classes](https://pypi.org/p/os-resource-classes) now,
   already merged in placement, with a change posted [for
   nova](https://review.openstack.org/#/c/628278/). It's effectively
   the same as os-traits, but for resource classes.

* There's a release of a 0.1.0 of placement
   [pending](https://review.openstack.org/628400). This won't have
   complete documentation, but will mean that there's an actually
   usable openstack-placement on PyPI, with what we expect to be the
   final python module requirements.

* This has been true for a while, but it seems worth mentioning, via
   coreycb: "you can install placement-api on bionic with the stein
   cloud archive enabled".

* A `db stamp` command has been added to `placement-manage` tool
   which makes it possible for someone who has migrated their data
   from nova to say "I'm at version X".

* placement functional tests have been removed from nova.

* Matt did a mess of work to make initializing the scheduler report
   client in nova less expensive and redundant.

* Improving the handling of [allocation
   has merged, allowing for "initial allocation ratios".

# Bugs

* Placement related [bugs not yet in progress](https://goo.gl/TgiPXb): 15.
* [In progress placement bugs](https://goo.gl/vzGGDQ) 15. +2

# Specs

Spec freeze next week! Only one of the previously listed specs has
merged since early December and a new one has been added (at the

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

* <https://review.openstack.org/#/c/595236/>
   Add subtree filter for GET /resource_providers

* <https://review.openstack.org/#/c/597601/>
   Resource provider - request group mapping in allocation candidate

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

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

* <https://review.openstack.org/#/c/599957/>
   Allow overcommit of dedicated CPU
   (Has an alternative which changes allocations to a float)

* <https://review.openstack.org/#/c/591037/>
   Modelling passthrough devices for report to placement

* <https://review.openstack.org/#/c/603955/>
   Nova Cyborg interaction specification.

* <https://review.openstack.org/#/c/601596/>
   supporting virtual NVDIMM devices

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

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

* <https://review.openstack.org/#/c/141219/>
   Adds spec for instance live resize

* <https://review.openstack.org/#/c/612497/>
   Provider config YAML file

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

* <https://review.openstack.org/603545>
   Resource modeling in cyborg.

* <https://review.openstack.org/#/c/609960/>
   Support filtering of allocation_candidates by forbidden aggregates

* <https://review.openstack.org/601596>
   support virtual persistent memory

# Main Themes

## Making Nested Useful

Progress continues on gpu-reshaping for libvirt and xen:

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

Also making use of nested is bandwidth-resource-provider:

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

There's a [review
for those patches.

Eric's in the process of doing lots of cleanups to how often the
ProviderTree in the resource tracker is checked against placement,
and a variety of other "let's make this more right" changes in the
same neighborhood:

* Stack at: <https://review.openstack.org/#/c/615677>

## Extraction

The [extraction etherpad](https://etherpad.openstack.org/p/placement-extract-stein-4)
is starting to contain more strikethrough text than not. Progress is
being made. I'll refactor that soon so it is more readable, before
the week of the 14th meeting.

The main tasks are the reshaper work mentioned above and the work to
get deployment tools operating with an extracted placement:

* [TripleO](https://review.openstack.org/#/q/topic:tripleo-placement-extraction)
* [OpenStack
* [Kolla and Kolla

Loci's change to have an extracted placement has merged.

Kolla has a patch to [include the upgrade
It raises the question of how or if the `mysql-migrate-db.sh` should
be distributed. Should it maybe end up in the pypi distribution?

Documentation tuneups:

* Release-notes: <https://review.openstack.org/#/c/618708/> This is
   blocked until we refactor the release notes to reflect _now_

* The main remaining task here is participating in
   to that end:

     * <https://review.openstack.org/#/c/628183/> A stack of changes
       to nova to remove placement from the install docs.
     * <https://review.openstack.org/#/c/628220/> Install docs in
       placement. I wrote to the [mailing
       asking for input on making sure these things are close to
       correct, especially with regard to distro-specific things like
       package names.
     * <https://review.openstack.org/#/c/628324> Change to
       openstack-manuals to assert that placement is publishing
       install docs. Depends on the above.

* There is a patch to [delete
   placement](https://review.openstack.org/#/c/618215/) from nova
   that we've put an administrative -2 on while we determine where
   things are (see about the meeting above).

* There's a pending patch to support [online data
   migrations](https://review.openstack.org/#/c/624942/). This is
   important to make sure that fixup commands like
   `create_incomplete_consumers` can be safely removed from nova and
   implemented in placement.

# Other

There are currently 13 [open
in placement itself. Most of the time critical work is happening
elsewhere (notably the deployment tool changes listed above).

Of those placement changes, the
ones from Tetsuro are the most important.

Outside of placement:

* <https://review.openstack.org/#/q/topic:minimum-bandwidth-allocation-placement-api>
   Neutron minimum bandwidth implementation

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

* <https://review.openstack.org/#/c/586960/>
   zun: Use placement for unified resource management

* <https://review.openstack.org/#/c/621645/>
   WIP: add Placement aggregates tests (in tempest)

* <https://review.openstack.org/627326>
   blazar: Consider the number of reservation inventory

* <https://review.openstack.org/622316>
   Add placement client for basic GET operations (to tempest)

# End

Lot's of good work in progress. Our main task is making sure it all
gets review and merged. The sooner we do, the sooner people get to
use it and find all the bugs we're sure to have left lying around.

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

More information about the openstack-discuss mailing list