Monday, June 14, 2010

Cloud in your Pocket -- UEC LiveISO!

Background

At UDS in Belgium, I gave a 5-minute Lightning Talk during Friday's plenary. In that talk I gave a demonstration of a UEC LiveISO, based on Ubuntu 10.04 LTS. You can hear the 5 minute talk starting at the 29m30s mark of this audio file.

And you can find the 823MB ISO I used for my demonstration here:
I took the 10.04 LTS Desktop, and modified that ISO according to the instructions at:
I removed a ton of unnecessary packages for cloud computing, such as OpenOffice, Translations, and the Games, Graphics, Sound & Video applications. I also added the necessary Eucalyptus applications, and provided some initial configuration. I also pre-loaded a small, ttylinux image in the ISO itself (username=root, password=linux).

Motivation

Why would anyone want to do this? Well, for many of the same reasons Linux Desktops landed on LiveCDs. It's useful for testing, prototyping, and learning about the environment, before deploying to real hardware.

It used to be amazing that you could carry around a complete, bootable desktop operating system in your pocket. Now, you can carry a whole cloud! What's next? :-)

Caveats

So this LiveISO is completely unsupported right now. This was just a weekend hack that I put together because I thought it might be interesting, and because some people said it couldn't be done ;-)

This LiveISO is not meant to replace the Ubuntu 10.04 LTS Server ISO, from which I recommend you install UEC, if that's your goal.

How to Use this LiveISO

Download the ISO.

If you wan to try this out on real hardware, fire up Startup Disk Creator. Insert USB flash disk, at least 2GB in size (the bigger, the better). In Startup Disk Creator, create a very large persistence file with the slider toward the bottom.

You can now boot this on a system that has a CPU with VT extensions (try running kvm-ok to find out if your hardware supports VT), and with at least 4GB of memory. Sorry about the memory requirements -- Java is a memory hog.

Alternatively, you can actually be able to boot this ISO entirely inside of a KVM, if you can give it enough memory.

Basically, I gave this KVM all of my free memory (2300MB), and 2 CPUs, using this command:
kvm -m 2300 -smp 2 -cdrom ubuntu-10.04-ueclive-amd64-custom.iso
A few minutes after booting (~4 minutes), I can see within Byobu that all of the Eucalyptus services are running: CLC,WC,CC,SC,NC.



Once your CLC is running, you can grab your credentials:

sudo euca_conf --get-credentials mycreds.zip
unzip mycreds.zip
ln -s eucarc .eucarc

Now, register the node.

sudo euca_conf --register-nodes 127.0.0.1

And check your cluster's availability.

euca-describe-availability-zones verbose

With a little luck, you should see some free VMs!

Next, register an image. We included a tiny, ttylinux one on the ISO. You can try to run bigger images, but note that it will be rather slow (either you're reading/writing from slow flash media, or you're running in KVM, which means your VM will be running in non-accelerated QEMU).

uec-publish-image -K vmlinuz i386 tty-linux.img foo

And check your image's registration.

euca-describe-images

Now, run your image!

euca-run-instances emi-DEADBEEF --addressing private
watch -n 5 euca-describe-instances

You should that go to "running" eventually. If you're already running inside of KVM, this QEMU emulated virtual machine will be very slow. You should be able to ping it, and you might even eventually be able to ssh to it.

euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
ping 172.19.1.2
ssh root@172.19.1.2

You can also explore the UEC administrative web interface. The LiveISO still has Firefox. You can point it to http://localhost, and login with admin/admin credentials.


So this is all fine and dandy if you want to try out UEC on your own hardware. But that's not very cloud of you... Why don't you just try out UEC in EC2? Do what, huh? Yup, totally doable too. The work described above inspired Scott Moser to publish his own how-to on the matter:


So What's Next?

Well, I'm actually trying to improve this a bit during the 10.10 cycle. You can follow our plans here. Basically, I'd like to create a UEC Live ISO seed, and have Ubuntu's cdimage publisher crank one out on a weekly basis. There are a few hiccups around auto-registration (which you might encounter in your testing of the current ISO) -- these should be fixed.

Hopefully you found this article useful, and might use this ISO in your own demonstration, education, and edification around Ubuntu's Enterprise Cloud!

:-Dustin

13 comments:

  1. This ISO is x64 will not work on kvm for i686 ubuntu

    ReplyDelete
  2. Christophe-

    Yeah, sorry, 64-bit only.

    :-Dustin

    ReplyDelete
  3. Can I boot this image on two physical machines and connect them into one cloud? (Without installing anything on the hard disk on either machine.)

    ReplyDelete
  4. Marius-

    Not as such. It's really an all-in-one system.

    ReplyDelete
  5. Great stuff, but a few typos:
    * "euca-describe-availability-zones --verbose" should be "euca-describe-availability-zones verbose"
    * "euca-run-instance emi-DEADBEEF --addressing-private" should be "euca-run-instance emi-DEADBEEF --addressing private"
    also:
    * I could not find the ttylinux password in the blog, I might have a bad sight...
    * Also, since this is a local only setup, why don't we "sudo euca_conf --register-nodes 127.0.0.1". That work quite well on my setup and it not "site specific".

    Hope this help.

    ReplyDelete
  6. Thanks for the fixes, I have updated the post.

    Cheers!
    :-Dustin

    ReplyDelete
  7. one more "euca-run-instance" -> "euca-run-instances"

    ReplyDelete
  8. Great creative work. I want to use this as a template for my own install
    You talk about ssh into this machine
    what is the root password?

    ReplyDelete
  9. ubuntu@ubuntu:~$ sudo euca_conf --register-nodes 127.0.0.1

    INFO: We expect all nodes to have eucalyptus installed in //var/lib/eucalyptus/keys for key synchronization.
    Warning: cannot file file node-cert.pem in //var/lib/eucalyptus/keys/
    Warning: cannot file file cluster-cert.pem in //var/lib/eucalyptus/keys/
    Warning: cannot file file node-pk.pem in //var/lib/eucalyptus/keys/
    Warning: cannot file file cloud-cert.pem in //var/lib/eucalyptus/keys/

    ReplyDelete
  10. Could I install this setup permanently on a KVM-enabled Dell laptop ? ? ?

    ReplyDelete
  11. Hi, Dustin!

    I am interested to hear your presentation but the link you gave (URl: http://uds.ubuntu.com/audio/uds-m/2010-05-14/2010-05-14_140001_canopee_lightning-talks.ogg) doesn't work. Is there some other URl that could work? Thanks!

    - Jusle

    ReplyDelete
  12. The iso file is no longer available. Can you please reupload?

    ReplyDelete
  13. Dear Dustin,

    The iso is not found in the published link. Can you please re-upload? Thanks.

    ReplyDelete

Please do not use blog comments for support requests! Blog comments do not scale well to this effect.

Instead, please use Launchpad for Bugs and StackExchange for Questions.
* bugs.launchpad.net
* stackexchange.com

Thanks,
:-Dustin