[placement] update 18-48

Chris Dent cdent+os at anticdent.org
Fri Nov 30 13:15:20 UTC 2018


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

Here's a placement update. It's been a rather busy week in
placement-land: Gibi and I, with the help of others, have been
getting the functional tests in nova working with an external
placement. It is working now, which is great, but much work was
done, more details within.

# Most Important

Progress continues on the work in ansible, puppet/tripleo, kolla,
loci to package placement up and establish upgrade processes. All of
these things need review (see below). Work on GPU reshaping in virt
drivers is getting close.

# What's Changed

* Devstack installs placement from openstack/placement, not nova.
* Placement now runs tempest and grenade (in py3) in CI. This is
   great because real integration tests and sad because our once
   really fast CI runs are gone.
* The placement service can now start without a conf file. This is
   basically fixing a bug: we required a single config file in a
   specific location, rather than the defaults (which includes no
   file). We require an explicit database connection.

# Bugs

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

# Specs

Spec freeze is milestone 2, the week of January 7th. None of the
specs listed last week have merged.

* <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/603352/>
   Spec: Support filtering by forbidden aggregate

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

# Main Themes

## Making Nested Useful

Progress is being made 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>

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/615646/>

## Extraction

(There's an
[etherpad](https://etherpad.openstack.org/p/placement-extract-stein-4)
which tracks some of the work related to extraction. Please refer to
that for additional information.)

Several deployment tools are working on making things work with the
extracted placement:

* [TripleO](https://review.openstack.org/#/q/topic:tripleo-placement-extraction)
* [OpenStack
   Ansible](https://review.openstack.org/#/q/project:openstack/openstack-ansible-os_placement)
* [Kolla](https://review.openstack.org/#/c/613589/)
* [Kolla Ansible](https://review.openstack.org/#/c/613629/)
* [Loci](https://review.openstack.org/#/c/617273/)

A replacement for `placeload` performance testing that was in the
`nova-next` job: <https://review.openstack.org/#/c/619248/>. This
might be of interest to people trying to do testing of live
services without devstack. It starts with a basic node, turns on
mysql, runs placement with uwsgi, and does the placeload testing.
Note that this found a pretty strange [bug in
_ensure_aggregates](https://bugs.launchpad.net/nova/+bug/1804453).

Documentation tuneups:

* Release-notes: <https://review.openstack.org/#/c/618708/> This is
   blocked until we refactor the release notes to reflect _now_
   better.
* The main remaining task here is participating in
   [openstack-manuals](https://docs.openstack.org/doc-contrib-guide/doc-index.html).

**The functional tests in nova** excitement this week has led to
some interesting changes. The biggest of these is changing placement
to [no longer use global
config](https://review.openstack.org/#/c/619121/). That patch is an
aggregate of the many things done to remove a race condition in
the [nova functional
tests](https://review.openstack.org/#/c/617941/). Trying to use the
config of two different projects in the same process space is hard
if they are both global. So now placement doesn't. This is a win in
many ways. Getting those two patches merged _soon_ is important.

We've been putting off making a decision about os-resource-classes.
Anyone have strong opinions?

# Other

There are 12 or so [open
changes](https://review.openstack.org/#/q/status:open+project:openstack/placement)
in placement itself. Of those these two are the most important:

* <https://review.openstack.org/#/c/619121/>
   Stop using global oslo_config

* <https://review.openstack.org/#/c/614559/>
   Correct lower-constraints.txt and the related tox job

Outside of placement itself, here are some related changes:

* <https://review.openstack.org/#/q/topic:bp/initial-allocation-ratios>
   Improve handling of default allocation ratios

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

* <https://review.openstack.org/#/c/602160/>
   Add OWNERSHIP $SERVICE traits

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

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

* <https://review.openstack.org/619626>
   Tenks doing some node management, with a bit of optional
   placement.

* <https://review.openstack.org/#/c/620485/>
   Sync placement database to the current version (in grenade)

* <https://review.openstack.org/#/c/619107/>
   Address nits on lib/placement for extracted placement (in
   devstack)

# End

That was the November that was.
-- 
Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the openstack-discuss mailing list