Ensure an entity ID allows routing of API call to correct backend

Registered by Henry Nash

During IceHouse, we had several proposals (and indeed code ready to merge) that solved the issue of correctly determining the domain and driver for an API call that only contains a user or group ID. This is needed for both multi-backend as well as Federation support. However, the approaches (e.g. either encode the domain into the ID or alternatively have an SQL mapping table) have their pros and cons. We need to settle on our approach and implement.

Blueprint information

Status:
Complete
Approver:
None
Priority:
High
Drafter:
Henry Nash
Direction:
Approved
Assignee:
Henry Nash
Definition:
Pending Approval
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
Henry Nash
Completed by
Dolph Mathews

Related branches

Sprints

Whiteboard

A patch with the mapping table approach can be found at: https://review.openstack.org/#/c/74214/

Gerrit topic: https://review.openstack.org/#q,topic:bp/multi-backend-uuids,n,z

Addressed by: https://review.openstack.org/74214
    multi-backend support for identity

Gerrit topic: https://review.openstack.org/#q,topic:multi-backend-uuids,n,z

Addressed by: https://review.openstack.org/97492 (merged)
    Cross Backend Unique Idenifiers for User and Group Entities

Addressed by: https://review.openstack.org/99416 (abandoned)
    Minor doc fix

Addressed by: https://review.openstack.org/99417
    Debug messages don't need translations

Addressed by: https://review.openstack.org/99418 (abandoned)
    Adds a newline for pep8 compliance

Addressed by: https://review.openstack.org/99419
    Stops overriding a builtin for pep8 compliance

Addressed by: https://review.openstack.org/100497 (spec merged)
    Always use sha1 for cross backend unique identifiers

Addressed by: https://review.openstack.org/100833 (merged)
    Migrate ID generation for users and groups from controller to manager

Addressed by: https://review.openstack.org/102430 (merged)
    Add identity mapping capability

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.