Friday, July 10, 2009

Call for Testing: KVM in Jaunty-Proposed

So the backport of KVM-84 to Hardy and Intrepid has been in the works since March, and we're now rounding 3rd base.

I've produced a couple of release candidates and fixed a few remaining issues. Thank you to everyone who has tested these packages and provided feedback.

The final step before releasing the backport is to ensure that these latest changes get uploaded to jaunty-updates, such that the package is in sync among Hardy, Intrepid, and Jaunty.

One more call for testing...

So I've been working hard on this, and I'm at a point where I require assistance from the community. I get emails on a weekly basis from people asking for advice on getting involved in Ubuntu. Here's your shot ;-)

There is a package in jaunty-proposed that needs to be pushed to jaunty-updates before the Hardy and Intrepid backports can take place. In order to promote the package to jaunty-updates, I need users to verify that the new package fixes the four bugs that I think it fixes, and does not cause regressions.

Please, if you have a system running Jaunty + KVM, give the -proposed package a shot, and provide feedback in the following 4 bugs:

:-Dustin

Wednesday, July 8, 2009

The Ubuntu Museum


Earlier today, Steve Langasek reminded us that Ubuntu 6.06 LTS (Dapper Drake) reaches its end of support on the desktop next week (July 14, 2009). I think it's time for a little nostalgia!

As the maintainer of Ubuntu's KVM package, I spend quite a bit of my time regression testing our virtualization stack (kvm, qemu, libvirt, virt-manager, etc). In doing so, I have constructed a massive archive of virtual machine images.

About 6 months ago, Jamie Strandboge and I kicked around the idea of creating a series of "Linux museums", honoring our heritage by providing download-able virtual appliance images that could run under KVM. Jamie is currently working on something like this for Debian's releases.

I'm pleased to introduce my contribution...The Ubuntu Museum! Here, you can find:
  • screenshots (png) of each Ubuntu desktop release
  • screencasts (mpeg) of each Ubuntu boot and shutdown sequence
  • virtual machine images (bzip2, qcow2) of each retired Ubuntu desktop release
The virtual machine images are:
  • default i386 desktop installations
  • with all packages updated to their final resting state
  • the username and password are both "ubuntu"
Obviously, these releases are completely unsupported and the images are provided for entertainment and educational purposes only!

Since I started using Ubuntu with the Breezy release, I found it quite educational to play around with Warty and Hoary--a bit of Ubuntu history I was missing. It is interesting to see the evolution of the artwork and color schemes. I find some strange satisfaction hitting a few old, memorable bugs and then thinking "boy am I glad we fixed that!" It is also pretty cool to see how much we've improved startup and shutdown times.

I recently attended an excellent presentation by Colin Watson on the history of the Debian and Ubuntu installers. He made the point that it's important to know where we've been, when we're trying to figure out where we're going.

Hopefully some of you will enjoy this trip down memory lane and perhaps learn something too!

:-Dustin

Tuesday, July 7, 2009

Virtualization Daily Upstream Builds




At UDS Karmic, we discussed providing daily builds of pristine upstream projects.

Specifically, I implemented this for the key virtualization packages, per https://blueprints.launchpad.net/ubuntu/+spec/server-karmic-pristine-daily-virt-builds:
  • qemu
  • qemu-kvm
  • libvirt
Ubuntu users are often running some version of the project older than the current development branch, it's more interesting to know if the user can reproduce the bug on the latest development sources.

I have constructed some automation that builds Debian/Ubuntu binaries for amd64, i386, and lpia platforms directly from your master git repositories every day at 11:00 UTC, and publishes them in a special, opt-in repository. These daily builds also drop any specific patches we may be carrying, in order to minimize the delta between the binaries built and your upstream sources.

Additionally, this tool also has the ability to expose build breakages, and it has revealed several during the last few weeks as I have been developing it.

If anyone has suggestions as to the utility of this resource, I would appreciate constructive feedback.

Cheers,
:-Dustin

Sunday, July 5, 2009

Dell Mini9 (the server) and a Dell Mini10v Review


A few months back, I wrote about my Dell Mini9 running the Ubuntu Server. There's a picture just above, as it has been installed at my parent's house as my co-lo machine. The Mini9 is the machine standing vertically, on the far right, next to a couple of external USB hard drives, a cable modem, and the wireless access point.

I'll reiterate what I stated before... This little machine makes a perfect little server. It usually runs on less than 20W of power. And it is extremely compact, particularly considering that it has a built-in battery backup, keyboard, mouse, and video. All of this, for somewhere around $200, with Ubuntu pre-loaded. Unbeatable, really...except that the Mini9 is no longer available. :-(

Alas, the Mini9 is discontinued. I did, however, pick up a Mini10v recently. Excellent machine as well! My wife, Kim, is using it as her daily computer, and she loves it. The keyboard is far more usable than the Mini9's was. The screen is slightly bigger, and supports much better resolution. The built in web cam is very nice, and works perfectly out of the box.

There were a couple of regressions, in my opinion, from the Mini9's design, though.

In the Mini9, the SD card snapped all the way into the reader, fitting flush with the case. In the Mini10v, the card juts out by a couple of centimeters. For the Mini9, I picked up an 8GB SD card for $20 or so, and used it as /home, with the rest of Ubuntu fitting comfortably within the 4GB SSD. My Mini10v did come with a 16GB SSD, so in the end there's more space.

Also, the touchpad/mouse is really difficult to use and poorly designed. The mouse buttons are actually on the touchpad, in the corner. I find it difficult to perform a click, without also moving the cursor at the same time. I use a retractable USB mouse as much as possible.

Finally, the RAM compartment was trivial to access on the Mini9--just a single screw. The Mini10v requires major surgery to upgrade the RAM. It took me 2 hours, plus the service manual, to disassemble the entire machine and install a 2GB stick. Spend the extra few bucks and max out the memory when you order it.

Minor issues aside, this is a spectacular little machine. The base Ubuntu 8.04 installed is a solid OS. I played with it for a day or two before reinstalling with Ubuntu 9.04 Netbook remix. One word... Wow! The Netbook Remix absolutely rocks! Props to everyone involved in delivering this. Kim really likes it too, by the way. She found the interface intuitive and the unique program tabbing across the top quite useful. Jaunty's boot performance improvements are really nice too. I have highly recommend this machine to friends and family in the market for a netbook under $300. It's certainly been worth it to us.

:-Dustin

Thursday, June 25, 2009

QEMU in Launchpad


QEMU provides the userspace and device emulation required by KVM. As such, it's an extremely important project to Ubuntu's virtualization and cloud computing efforts.

The upstream project has not had an actively maintained bug tracker for quite some time.

I recently helped QEMU's maintainer, Anthony Liguori setup a Launchpad project for tracking QEMU's bugs. This should be a good thing for the upstream QEMU project, as well as for tracking bugs in Ubuntu's kvm and qemu packages.

See:
http://bugs.launchpad.net/qemu

I have also set up a bzr mirror of qemu's git tree, for people who are more bzr-inclined.

You can now:

bzr branch lp:qemu


Also, you can use Loggerhead to browse QEMU's source tree and revision history at:
http://bazaar.launchpad.net/~qemu/qemu/git/files

Cheers,
:-Dustin

KVM's inside of Byobu

Here's a neat trick that I find phenomenally useful...

I like to run KVM virtual machines inside of Byobu, using KVM's -curses option. From QEMU's manpage:

Normally, QEMU uses SDL to display the VGA output. With this option, QEMU can display the VGA output when in text mode using a curses/ncurses interface. Nothing is displayed in graphical mode.

So this only works with non-graphical virtual machines, such as the Ubuntu Server. But hey, that's what I'm working on every day. Here's a quick demo screen cast.



Commands used in this video:

  1. start byobu

  2. run kvm -curses karmic-server.img to launch one virtual machine

  3. hit F8 to rename this window karmic

  4. hit F2 to open a new window

  5. start a second virtual machine, and rename that window

  6. hit F3 or F4 to move back and forth between windows

  7. hit F6 to detach

  8. and byobu -x to re-attach


The detach/reattach is really cool, as these virtual machines will continue running in the background. Many people use this sort of method to background an irc client such as irssi, which allows it to serve as a persistently connected proxy.

Of course, virsh and virt-manager are the preferred methods to manage virtual machines in Ubuntu, but I find this useful for my development purposes.


Cheers,
:-Dustin

Wednesday, June 24, 2009

KVM-84 Backport Release Candidate

Howdy,

On March 17, 2009, I blogged the following call for testing:
http://blog.dustinkirkland.com/2009/03/ubuntu-server-kvm-call-for-testing.html

We have worked through a number of the issues raised after that blog post, and cherry-picked several patches that fix some known bugs. We believe that Ubuntu 9.04's kvm-84 is a far more complete hypervisor.

This is a call for one more round of testing of a release-candidate build of that package (kvm - 1:84+dfsg-0ubuntu12.1~rc*) in the ubuntu-virt ppa:
https://launchpad.net/~ubuntu-virt/+archive/ppa

If you are able to assist us with the testing, please add that PPA, and install both the userspace and dkms built kernel module onto your 8.04 and/or 8.10 servers.
$ sudo apt-get install kvm

Please file any bugs against kvm in Launchpad, and please tag them with "kvm-84".
https://bugs.launchpad.net/ubuntu/+source/kvm

The goal is to upload a version of kvm-84 to the hardy-backports and intrepid-backports repositories around July 6, 2009.
https://help.ubuntu.com/community/UbuntuBackports

Cheers,
:-Dustin