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

This week I'm trying to fill Chris' esteemable shoes while he's away.

# Most Important

## Reshape Provider Trees

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

There are at least four different contributors working on various parts of the "reshape provider trees" spec implementation <https://review.openstack.org/#/c/572583/>. Three of the four were blocked on work I was supposed to complete around the single DB transaction for modifying inventory and allocation records atomically. So, this was the focus of work for week 28, in order to unblock other contributors.

Work on the primary patch in the series <https://review.openstack.org/#/c/582383/> is ongoing, with excellent feedback and code additions from Eric Fried, Tetsuro Nakamura, Balasz Gibizer and Chris Dent. We hope to have this code merged in the next day or two.

There are WIPs for the HTTP parts and the resource tracker parts, on that topic, but both of those are dependent on the DB work merging.

# Important bug categories

In week 27 we discovered a set of bugs related to consumers and the handling of consumer generations. Most of these have now been fixed. Here is a list of these bugs along with their status:

* No ability to update consumer's project/user external ID
<https://bugs.launchpad.net/nova/+bug/1779717>
FIX RELEASED
* Possible race updating consumer's project/user
<https://bugs.launchpad.net/nova/+bug/1781008>
NEW
* default missing project/user in placement is invalid UUID
<https://bugs.launchpad.net/nova/+bug/1780107>
FIX RELEASED
* Consumers with no allocations should be auto-deleted
<https://bugs.launchpad.net/nova/+bug/1780799>
FIX RELEASED
* Auto-created consumer record not clean up after fail allocation
<https://bugs.launchpad.net/nova/+bug/1779725>
FIX RELEASED
* Making new allocation for one consumer and multiple providers gives 409 Conflict
<https://bugs.launchpad.net/nova/+bug/1778576>
FIX RELEASED
* AllocationList.delete_all() incorrectly assumes a single consumer
<https://launchpad.net/bugs/1781430>
IN PROGRESS
* Consumers never get deleted
<https://bugs.launchpad.net/nova/+bug/1778763>
FIX RELEASED
* ensure-consumer gabbi test uses invalid consumer id
<https://bugs.launchpad.net/nova/+bug/1780238>
IN PROGESS
* return 404 when no consumer found in allocs
<https://bugs.launchpad.net/nova/+bug/1778591>
IN PROGRESS (lower priority now that consumers
with no allocations are auto-deleted)

**DECISION MADE**: The team made a decision to automatically remove any consumer record when there were no more allocations for that consumer. Remember that for the Nova use case, a consumer is either an instance or an on-going migration. So, when an instance is terminated, the consumer record that stores attributes about the instance -- such as the project and user IDs -- is now removed.

The other area of bugginess that was uncovered in week 27 and addressed in week 18 was related to various ways in which managing parents of nested providers was incorrect. Those were:

* placement allows RP parent loop in PUT resource_providers/{uuid}
<https://bugs.launchpad.net/nova/+bug/1779635>
FIX RELEASED
* Child's root provider is not updated
<https://bugs.launchpad.net/nova/+bug/1779818>
FIX RELEASED

Both of those, as you can see, have been fixed.

# Bugs

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

# Other

The following continue to remain from the previous week and are copied verbatim from Chris' week 27 update.

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

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

Best,
-jay

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to