OpenStack on Drizzle

Rackspace has been busy over the last year, funding both the Drizzle project and the OpenStack project. I've been lucky enough to be involved in both, and I couldn't be more pleased and proud of the stuff that's come from both projects.

What about synergy though?

Well, it turns out that it's pretty easy to use Drizzle as your database for two of the three current main OpenStack components. Glance, the Image Registry and  Nova the Cloud Computing Fabric Controller, both use SQLAlchemy to manage data that needs to go into a database.

There's one prerequisite you need to get up and running, and that's SQLAlchemy 7, which is currently in beta. SQLAlchemy 7 introduces a Drizzle dialect, which tells the ORM how to map properly to Drizzle datatypes and the like. Once you've installed SA7, it's as simple as creating a schema to stick data in and the changing the sql_connection setting in either your glance.conf or your nova.conf file to be of the form "drizzle://user@host/database" and you'll be off to the races. From by-hand testing I've been doing, all seems to work properly.

What about more automated testing?

I've been doing some poking at the test suites for both glance and nova, because I'd like to be able to set up some Jenkins jobs to ensure that running Glance and Nova on top of Drizzle (and to be honest MySQL and Postgres) is actually something that's tested on each commit. At the moment, the Glance test suite works fully. The Nova test suite makes a few assumptions about sqlite files, so I'm working up a patch to have it not copy in blanked out sqlite files as part of the test suite. But once that's done, I'll get the whole thing up and going in Jenkins and then make sure that Drizzle (and MySQL and Postgres) can actually handle everything that the SQLAlchemy layer theoretically means we don't have to worry about it. (And for the record, I haven't had to change any code anywhere other than in the test runners, and that was just to support being able to set that option - so SQLAlchemy has pretty much held up to its end of the bargain) 


  1. [1]   Keiwan
    April 28, 2011 at 07:07 AM

    It's sopoky how clever some ppl are. Thanks!