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