Add DB2 as an option for backend database

Registered by Thuy Christenson

Current OpenStack supports multiple open source database as the backend database, for example: MySQL, SQLite, PostgreSQL are the default supported database for the community.

I plan to contribue changes to Cinder to allow the use of DB2 as the backing database, and doing so will require me to:

1. Update Cinder project to support DB2 initialization and access by updating the SQLALchemy-migrate code.
2. Run tempest on a DB2 installed environment

Blueprint information

Mike Perez
Jay Bryant
Series goal:
Accepted for liberty
Milestone target:
milestone icon 7.0.0
Started by
Jay Bryant
Completed by
John Griffith

Related branches



Gerrit topic:,topic:bp/db2-database,n,z

Addressed by:
    Fix BVT cinder test_volume_from_image failure in DB2

Is this for the "free" version of db2? Will need to make sure we get CI versions of this running as well.

Given your question here as well as in the review referenced above, I thought I should probably provide additional details here with regards to DB2 Enablement. I have the following Wiki page that provides additional details: .

SQLAlchemy already supports DB2, the ibm_db_sa packages are available in pypi and SQLAlchemy-migrate is close to having DB2 support integrated. Additionally, Keystone has been patched to support DB2 and the changes for Nova are currently out for review.

Fortunately, Cinder has required few changes to enable DB2 support. I am working on getting the unittests working.

Forgot to mention that IBM is working to address the CI issue. First we have code written to enable devstack to setup an install for DB2. We are also working to get a third test running.

Addressed by:
    Update test_migrations to support DB2 (ibm-db-sa)

Addressed by:
    Add spec for DB2 database enablement

@jsbryant (7/5/2014):
I have made good progress on this. I have the code mostly in place and just need to finish working out some details before pushing the code up.


Work Items

This blueprint contains Public information 
Everyone can see this information.