SQL Storage Driver

Registered by Flavio Percoco on 2013-06-13

If we use SQLAlchemy, then this storage back-end may be a replacement for sqlite's (TBD). If we don't use SQLAlchemy, then we will only support MySQL.

Blueprint information

Status:
Complete
Approver:
Flavio Percoco
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
Yeela Kaplan
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Flavio Percoco on 2013-12-09
Completed by
Kurt Griffiths on 2014-03-04

Related branches

Sprints

Whiteboard

With sqlalchemy core, should be fairly easy.

<flaper87>
We need to discuss whether we want to use sqlalchemy or not. There are some benefits:

* Simplicity
* Support for multiple dbs with a single implementation
* Migrations

There are also some cons related to performance and speacial tweaks for different implementations.

http://docs.sqlalchemy.org/en/rel_0_7/core/tutorial.html

P.S: This is required for graduation
</flaper87>

Gerrit topic: https://review.openstack.org/#q,topic:bp/sql-storage-driver,n,z

Addressed by: https://review.openstack.org/64432
    Implement DataDriver for sqlalchemy storage backend

Addressed by: https://review.openstack.org/60223
    Implement tables and unit tests for sqlalchemy storage backend

Addressed by: https://review.openstack.org/70202
    feat(sql/driver): expose ControlDriver, more config

Addressed by: https://review.openstack.org/71335
    feat(sqlalchemy): add shards controller

Addressed by: https://review.openstack.org/70946
    [WIP]Extend driver functionality for sqlalchemy storage backend

Addressed by: https://review.openstack.org/70947
    [WIP]Implement Queue controller for sqlalchemy storage backend

Addressed by: https://review.openstack.org/72677
    Sqlalchemy Message controller

Addressed by: https://review.openstack.org/73027
    feat(sql/catalogue): add catalogue controller

Addressed by: https://review.openstack.org/74068
    [WIP]Implement Claim controller for sqlalchemy storage backend

Addressed by: https://review.openstack.org/75418
    Add an sqlalchemy storage to Marconi

Addressed by: https://review.openstack.org/75678
    Add an sqlalchemy storage to Marconi

Addressed by: https://review.openstack.org/76480
    Enable pragma foreing key for sqlite

Addressed by: https://review.openstack.org/76481
    Fix message's get and deletion

Addressed by: https://review.openstack.org/76482
    Register sqlalchemy endpoints

Addressed by: https://review.openstack.org/76483
    Don't raise `DoesNotExist` on claims deletion

Addressed by: https://review.openstack.org/76484
    Deprecate sqlite in favor of sqlalchemy

Gerrit topic: https://review.openstack.org/#q,topic:sql-storage,n,z

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.