Openstack Folsom fully uploaded to Experimental

It’s been a long time I wanted to blog about my recent work on the Openstack packaging. I finally can find a bit of time to do it.

For those who don’t know yet Openstack, it’s a fairly recentĀ (less than 3 years) cloud computing suite, which is becoming quite huge. If you plan on deploying a private cloud, you should definitively have a look into it.

When the Openstack project started, I immediately was interested. I started packaging the Cactus release (that is, the 3rd version of Openstack), created the Alioth group (at the exact moment when Alioth was migrated to new hardware which added some fun … so lucky I was!), and began to work on the Debian version (Openstack used to be an Ubuntu only project). After some success in integrating some Debian specific patches into the Ubuntu packages, I left it a bit aside, and skipped completely the Diablo release (which was never uploaded in Debian). Then, I worked a bit on the Essex release before the freeze of Wheezy last June, together with other DDs (big up to Julien, Loic, Ghe, Sileth!).

I (re-)started serious packaging work for Openstack just right after Folsom (eg: version 2012.2) was released early last October. I literally worked days and nights on it, in order to provide more automation so that it could become more easy to install. Indeed, it used to be very complicated and painful, with lots of manual tasks to perform on the shell. It’s hopefully a lot easier now, with most of the manual boring shell work replaced by debconf and scripts. But I’m sure there’s more that can be done still.

After 4 months of effort, I finally pressed the red button and uploaded everything at once to Debian Experimental – since Openstack Essex (version 2012.1) is in Wheezy, I can’t of course upload to SID unless Wheezy is out -. This represent 32 sources packages in total (some of them are already uploaded and approved by the FTP masters: sorry to give you so much more work guys…), and 104 binary packages (and counting…). So this isn’t exactly small… And I already have some fixes for what’s currently waiting in the NEW queue: CVE fixes, missing build-depends which we’ve found using the Jenkins server of eNovance who sponsors the packaging work, etc. I probably will post again here to announce when Folsom is completely approved by the FTP masters and reaches Debian experimental. In the mean while, it’s available on GPLHost non-official repositories (see the howto linked bellow).

If you would like to test the latest Openstack release (called Folsom, or 2012.2, if you are following well…), you can read the – quite verbose – howto I wrote here:

https://wiki.debian.org/OpenStackHowto/Folsom

If you do test it (don’t be afraid, it’s not that hard…), I will be very happy to hear from you, and receive any feedback / critics you may have. Note that I would strongly recommend to use the Folsom release, rather than what is currently in Wheezy, for many reasons which would be too long to list in this blog post (let me still drop a few reasons here: less bugs, more automations and it’s more easy to install).

Now, Openstack is a constantly evolving software, with so many companies and developers involved. I don’t think my work on this beast will ever be finished. But it doesn’t mater, as it’s been quite some fun, and I will enjoy to do more.

The next release of Openstack is schedule for next April (they release at the same time as Ubuntu). I hope to be able to join the Portland summit, and see all the persons I have worked with over IRC and mailing list. This time, I hope to be able to release Openstack packages at the same time as the upstream source code is released (Debian packages have historically been lagging a few months behind). The pre-version is by the way already in Alioth.

Last, a (private) message for our famous cheese-master: please wait until everything leaves the NEW queue before bugging everyone with translations. We probably should have a serious talk about how to make it less redundant, easier to translate, and probably find a way to avoid duplication of messages across all packages.