placement/releasenotes/notes/consumer_generation-f576ac2594b24e2e.yaml
Eric Fried 548f3ff208 Address nits from consumer generation
Address various minor issues from
https://review.openstack.org/#/c/565604/

Change-Id: I69df4c8d8c4b8813f78aeeb46f7b788d36238d35
Blueprint: add-consumer-generation
2018-07-10 14:09:29 -05:00

19 lines
1.1 KiB
YAML

---
features:
- |
Adds a new ``generation`` column to the consumers table. This value is
incremented every time allocations are made for a consumer. The new
placement microversion 1.28 requires that all ``POST /allocations`` and
``PUT /allocations/{consumer_uuid}`` requests now include the
``consumer_generation`` parameter to ensure that if two processes are
allocating resources for the same consumer, the second one to complete
doesn't overwrite the first. If there is a mismatch between the
``consumer_generation`` in the request and the current value in the
database, the allocation will fail, and a 409 Conflict response will be
returned. The calling process must then get the allocations for that
consumer by calling ``GET /allocations/{consumer}``. That response will now
contain, in addition to the allocations, the current generation value for
that consumer. Depending on the use case, the calling process may error; or
it may wish to combine or replace the existing allocations with the ones it
is trying to post, and re-submit with the current consumer_generation.