Add Generation to Consumers

Registered by Ed Leafe on 2018-03-27

Potential conflicts have been identified when more than one process attempts to allocate resources for a given consumer, and there is currently no way to detect these conflicts. We propose to add a generation field to the consumers table in Placement, and implement the same mechanism for tracking updates to consumers as is implemented for ResourceProviders.

Blueprint information

Status:
Complete
Approver:
Dan Smith
Priority:
High
Drafter:
Ed Leafe
Direction:
Approved
Assignee:
Jay Pipes
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-3
Started by
Dan Smith on 2018-04-10
Completed by
Matt Riedemann on 2018-07-13

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-consumer-generation,n,z

Addressed by: https://review.openstack.org/556971
    Add Generation to Consumers

Addressed by: https://review.openstack.org/557958
    Add the 'generation' column to the consumers table

Addressed by: https://review.openstack.org/557959
    Add handlers for consumer_generation

Addressed by: https://review.openstack.org/558958
    WIP - Add a microversion for consumer generation

Approved for Rocky. -- melwitt 20180410

Addressed by: https://review.openstack.org/560174
    Add history behind nullable project_id and user_id

Addressed by: https://review.openstack.org/561406
    Add the Consumer object

Addressed by: https://review.openstack.org/561407
    Add Consumer objects to Allocations

Addressed by: https://review.openstack.org/561408
    Add generation checking logic to Consumer

Addressed by: https://review.openstack.org/562000
    Add a microversion for consumer generation

Addressed by: https://review.openstack.org/563110
    WIP - Change DELETE allocations to PUT []

Addressed by: https://review.openstack.org/564641
    WIP - Add consumer generation checking logic

Addressed by: https://review.openstack.org/565400
    Add generation column to consumers table

Addressed by: https://review.openstack.org/565401
    Add Project object

Addressed by: https://review.openstack.org/565402
    Add User object to placement modeling

Addressed by: https://review.openstack.org/565403
    add Consumer object

Addressed by: https://review.openstack.org/565404
    Add create() methods to Project, User and Consumer

Addressed by: https://review.openstack.org/565405
    move consumer ensure to API layer

Addressed by: https://review.openstack.org/565406
    remove Allocation.project_id & Allocation.user_id

Addressed by: https://review.openstack.org/565407
    prep for consumer generation in API layer

Addressed by: https://review.openstack.org/565513
    increment consumer generation when allocs change

Addressed by: https://review.openstack.org/565565
    update add-consumer-generation to focus on API

Addressed by: https://review.openstack.org/565604
    WIP: Add a microversion for consumer generation

Addressed by: https://review.openstack.org/567678
    placement: always create consumer records

Addressed by: https://review.openstack.org/574324
    Fix nits from change Id609789ef6b4a4c745550cde80dd49cabe03869a

Addressed by: https://review.openstack.org/574488
    WIP: Heal allocations with missing/incomplete consumer information

Addressed by: https://review.openstack.org/577227
    Address nits from consumer generation

Addressed by: https://review.openstack.org/577896
    Refactor _heal_instances_in_cell

Addressed by: https://review.openstack.org/577905
    Use consumer generation in _heal_allocations_for_instance

Gerrit topic: https://review.openstack.org/#q,topic:bug/1779717,n,z

Gerrit topic: https://review.opendev.org/#/q/topic:bp/add-consumer-generation

Addressed by: https://review.opendev.org/723699
    Heal allocations with incomplete consumer information

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.