MagnetoDB/specs/uuid-for-a-table

UUID for a table
Launchpad: uuid for a table

An unique identifier for each table in MagnetoDB..

Problem Description
Projects like ceilometer which consume data from MagnetoDB via notifications needs a field(resource_id) which should be unique for each unit of resource. Currently we don't have an identifier which identifies a table uniquely in MagnetoDB.

Proposed Change

 * 1) Introduce a field UUID for each table.
 * 2) Expose an API to get the  project_id and table_name pair given the UUID.

Alternatives
(Project_id+table name) could also be a unique pair. But When a table is deleted and created again the new created table would be treated as the same resource. That should not happen.

Security Impact
None.

Notifications Impact
UUID field would be added to each notification.

Other End User Impact
None.

Performance Impact
None.

Other Deployer Impact
None.

Developer Impact
None.

Implementation

 * We would add a field UUID to the metadata table (magnetodb.table_info)
 * Add an api like /UUID to magnetodb to get table details.

Assignee(s)
Primary assignee:

Other contributors: 

Work Items

 * 1) Change the schema of table_info.
 * 2) Add a UUID field to each table, when the table is created.
 * 3) Write interface for API.

Dependencies
None.

Documentation Impact
None.