A while back I set up a d-i test lab, the dilab, a kind of automated mechanical computer torture rack, which has been trying (and frequently failing) to automatically install Debian onto a half-dozen varied machines every day for a couple of years.

Problem is that hardware sucks, even when it's tucked away in a friend's basement and so not blaring at you with its combined total of 100 fans and 50 disk drives. It has an annoying habit of dying, especially if it's oddball machines for different architectures. Cords have a habit of getting unplugged. It's hard to automate booting from installation media. And so on. A while ago I decided to go virtual.

Now, thanks to Dann and Matt and HP, I've gone from this: big rack of stuff to this: top

HP donated hydra, a maxed out 8-way Xeon with 4 (soon 8) disks. The idea is that it can run 7 or so virtual machines, all doing test installs, in parallel. Fast.

I'm using kvm for the amd64 and i386 tests. Since Debian has mips and mipsel kernels specially built for running under qemu, I'm able to test the installer for both those arches. Hercules will cover s390, once the kernel gets fixed. This leaves some architectures still todo:

  • arm should be supported by qemu, but Debian doesn't yet have a kernel for it. Please, please kernel team, add an arm qemu flavour!
  • sparc's qemu support seems very rough. I haven't tried to get it working yet.
  • powerpc probably has an emulator I can use. Any suggestions? I need something that can run headless. Qemu would work, if we had an appropriate special kernel for it.
  • m68k I have not researched emulators for yet.
  • hppa, ia64, and alpha all lack a usable emulator, AFAIK. Luckily I have machines for all of these, so I can pare the physical hardware down to just those 3 boxes.

I also still have to write enough installation test cases to keep this monster machine firing on all 8 cores all day long. It can probably handle around 300-400 installation tests per day.

Since hydra has the disk space, and these emulators are generating lots of disk images with Debian pre-installed, I have also set it up to retain the disk images. I imagine that some of these disk images will eventually be useful for devleopment, since it's much easier to boot a disk image rather than sit through a slow qemu install on an arch like mips. I haven't worked out how to make these images publically available yet, but hydra is located on the name network as gluck.debian.org, if anyone wants to get access to them.

Update: I also have qemu doing a 'savevm 1' before shutting down, so you can even restore the running system from the disk images. Especially useful if the install failed somewhere in d-i! :-)

BTW, I can give out accounts on hydra to any Debian developers who need a fast machine to run kvm/qemu on, or to anyone who is interested in setting up their own installation tests.

discussion