Justin Santa Barbara’s blog

Databases, Clouds and More

OpenStack Storage With FUSE

OpenStack is finishing up their next release (Essex); it’s a big step forward. There’s a bunch of fixes & general improvements, more than any huge new feature, and this is a good thing - it feels much more usable and stable. However, each release seems to introduce some big breaking change; this time it’s the introduction of a unified authentication system (called Keystone), which replaces the per-service authentication that was used before. The tricky thing is that this means that many clients no longer work. *

There’s been FUSE support for mounting Rackspace CloudFiles for a while. Rackspace’s CloudFiles was open-sourced and became the object storage component of OpenStack, so this FUSE driver used to work with OpenStack as well. But it hadn’t yet been updated to work with the new Keystone authentication in OpenStack Essex.

So I patched it: my fork is available on github, and I’ve proposed an upstream merge, so hopefully this will make it into the mainline code soon. I also fixed an issue where it required placeholder objects for recursion into subdirectories.

It’s very cool to be able to mount cloud storage in the filesystem; most applications can just use the storage without knowing that it’s not local. No need to wait those last few days for the rumored Google Drive!

* Technically, the previous OpenStack release (Diablo) included the unified authentication system, but it was finished so late in the release cycle that it wasn’t widely used. The code was also a bit over-complicated; so the Essex Keystone is actually a complete re-write of the Diablo Keystone (primarily by the rather awesome termie.)