Tuesday, February 5, 2013


Some of you may have heard that Eucalyptus no longer supports Debian or Ubuntu.
While it is true that given our current customer base and target customer base
that we have decided to support only CentOS and RHEL from a contractual
standpoint with our customers, it does not mean we have abandoned our
community efforts behind Debian and Ubuntu.

In fact, the opposite is true.  There was a long period of time where Eucalyptus
was not available in Debian and/or Ubuntu or only very old versions were
available.  Today, Eucalyptus 3.1 is available in Debian Unstable (we narrowly
missed the deadline to be included in Wheezy) and in Ubuntu Precise via the
Canonical Partner Repository.  Thanks goes out to James Page and others who made
that happen in Ubuntu.

The reason Eucalyptus 3.2 has not been made available in Debian is simply
because changes made to Eucalyptus require a new version of the Google Guava
libraries.  The Debian Java Team has already packaged the needed version and
uploaded it to Debian Experimental.  As soon as they deem it worthy for inclusion
in Unstable, we will look at updating Eucalyptus there as well.

We likely won't be making  any further release via the Canonical Partner
Repository as future versions of Ubuntu will have the Eucalyptus packages in
Ubuntu's Universe Repository.

For those of you who would like to build Debian Packages for Eucalyptus
from one of our development branches - in case you need one of the new features
it provides or perhaps just because you like to live on the bleeding edge - that
too is possible.

Building your own Debian Packages

Before building your own Debian packages, you will need to have the following:

 * A basic knowledge of git an bzr
 * The packages git, bzr, dpkg-dev, devscripts, pbuilder, and aptitude installed
 * A git clone of eucalyptus from github
 * The debian directory containing the proper files for building a package

Here is an example of grabbing the Eucalyptus source code and the Debian build
files, and building the Debian packages that make up Eucalyptus:

apt-get update
apt-get insall dpkg-dev devscripts
git clone git://github.com/eucalyptus/eucalyptus.git
bzr branch lp:~brian-thomason/+junk/eucalyptus-sid
cd eucalyptus
git checkout maint/3.2/testing
cp -a eucalyptus-sid/debian ./
dch -v 3.2.1-0 Experimental Build
sudo /usr/lib/pbuilder/pbuilder-satisfydepends
*You will need to comment out the following line:

import org.rhq.helpers.pluginAnnotations.agent.Units;

in the file:

clc/modules/storage-controller/src/main/java/edu/ucsb/eucalyptus/cloud/ws/BlockStorage.java

This will be fixed in the repository itself soon.

Amd finally, build the packages:

dpkg-buildpackage -b

This will build packages from the 3.2 maintenance branch, which will soon be
frozen and released as bugfix release 3.2.1.  If you would like to build from
the next feature release branch, replace 'maint/3.2/testing' with 'testing' in
the above step.

After the Eucalyptus packages have been built, you may then install the DEB
packages using:

dpkg -i ../*.deb

IMPORTANT NOTE:

These builds of Eucalyptus will require a newer version of libguava-java than is
available in Debian Unstable. Fortunately though, this package is
available in Debian Experimental and can be fetched here:

http://ftp.us.debian.org/debian/pool/main/g/guava-libraries/libguava-java_13.0.1-2_all.deb

You can fetch it with wget and install it using dpkg as well.

Once installed, you may follow the install guide loaded here for instructions on
how to setup your newly installed cloud:

http://www.eucalyptus.com/docs/3.2/ig

In the coming weeks I will expand upon this topic here by:

 * Explaining how to create an apt repo for each build you make and hosting
that static repo in S3/Walrus
 * Providing a script to automate much of the process

Best regards,
Brian Thomason
Engineer
Eucalyptus Systems, Inc.

Thursday, September 27, 2012

My First Blog Post! - Oh and a Eucalyptus 3.1 Debian ISO

After 15+ years of being online, I think it's finally time that I started a blog.  I would have done it sooner, but I just didn't really have anything useful to share - although that doesn't seem to stop the millions in twitter land.

Since it is my first ever blog post, I think it best to give a bit of background on myself, but I will try not to bore you in the process.

My name is Brian Thomason, and I work for Eucalyptus Systems, Inc., the creators of the private Cloud, as a Release Engineer.  I will soon be transitioning into the role of Partner Engineer there and will be sure to keep you abreast of what's going on there with ramblings here from time to time.

I started my career 10 years ago at Lindows (which became Linspire) doing Debian packaging work.  While I cut my teeth on Linux using Mandrake 7.1, I later fell in love with Debian due to its package management system, and more specifically its dependency resolution tool, apt.  Lindows was trying to take Debian to the next level on the consumer Desktop by creating a user interface for apt dubbed CNR  (Click-N-Run)  In a world that was then dominated by off-the-shelf software on CD-ROM, Lindows saw the vision of digitally distributed software, and that was a vision I bought into eagerly.  Apparently it wasn't a bad idea, as Apple's App Store has shown.  Unfortunately, Lindows started going downhill financially and eventually shut its doors.

From there, I moved on to Canonical, the company behind the popular Linux distribution Ubuntu.  For my first few years there I worked on Debian packaging of third party software just as I had done before at Lindows.  During my last year there I was transitioned to the Systems Integration team where I worked on taking large software projects and integrating them into Ubuntu. (glorified terminology for more Debian packaging work) This is when i got my first taste of the "Cloud", working on projects such as CloudFoundry and OpenStack.

Ironically, upon my return from an OpenStack sprint (one-week jam session) at Canonical, I found a message from a Eucalyptus recruiter waiting in my LinkedIn inbox asking if I was looking for new opportunities.

So here I am.  You can guess what Eucalyptus hired me for - yes, aside from my dashing good looks and charming wit, it was for my experience with packaging various types of software for Debian/Ubuntu.

All of that is what has led me to you today.  Thanks to much help from the Debian Eucalyptus Team, Eucalyptus 3.1 is now available in Debian Unstable (Sid).  Sadly, it made it in just after the Wheezy freeze so won't likely make it into that release.

However, if you' like to give it a try, I have created an installer ISO image based off of the Debian Mini ISO that will allow you to easily install Eucalyptus atop Debian Sid on your amd64 system.  Please note that the mini ISO requires that you have an internet connection to perform the install as only a very minimal set of packages is included on the ISO itself - hence, Mini.

Without further ado, here it is:


Please comment if you have issues/questions.  For those not familiar with Eucalyptus, I will be posting a set of configuration instructions here very soon.

Thank you for reading, and enjoy!