[openstack-dev] [nova][placement] placement update 18-28
Jay Pipes
jaypipes at gmail.com
Mon Jul 16 13:16:51 UTC 2018
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
More information about the OpenStack-dev
mailing list