Implement Registry Database Driver

Registered by Brian Waldon

This change is part of the kill-registry blueprint and is intended to implement a new db driver for the registry service in order to support legacy deployments based on 2 separate services.

Adding a testing plan for folks willing to give this feature a try:

* Install Glance
* Configure as usual but:
    * glance-api:
        - Make sure Glance's API v2 is enabled in both glance-api.cof and glance-api-paste.ini
        - Make sure glance-api.conf uses: data_api = glance.db.registry.api

    * glance-registry:
        - Make sure Glance's Registry API v2 is enabled in glance-registry-paste.ini:
               paste.app_factory = glance.registry.api.v2:API.factory
        - Make sure glance-registry.conf uses: data_api = glance.db.sqlalchemy.api

* Use glanceclient normally but make sure it points to the api version 2
    - glance --os-image-api-version 2 image-list

Blueprint information

Status:
Complete
Approver:
Brian Waldon
Priority:
High
Drafter:
Brian Waldon
Direction:
Approved
Assignee:
Flavio Percoco
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Flavio Percoco
Completed by
Thierry Carrez

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/30554
    Move sql_conneciton option into sqlalchemy package.

Addressed by: https://review.openstack.org/33234
    Add custom RPC(Des|S)erializer to common/rpc.py

Addressed by: https://review.openstack.org/36218
    Make db properties functions consistent with the DB API

Addressed by: https://review.openstack.org/36847
    DB Driver for the Registry Service

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.