Anita, an Automated NetBSD Installation and Test Application

Anita is a tool for automated testing of the NetBSD operating system. Using anita, you can download a NetBSD distribution and install it in a qemu virtual machine in a fully automated fashion. It's fun to watch, and it has helped find a large number of bugs in NetBSD, as well as several in qemu.

There is also experimental support for installing the i386 and amd64 ports of NetBSD in a Xen domU.

For example, the following command will download, install, and boot NetBSD/i386 6.1.5 in a virtual machine, and leave you at the login prompt:

   anita interact http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.5/i386/

The main focus of anita is on testing the sysinst installation procedure and quickly detecting regressions that cause the system to fail to install or boot, but anita is now also finding use as a platform for testing the whole NetBSD system by running the ATF test suite. Output from periodic anita tests of NetBSD-current on multiple architectures can be found on the NetBSD release engineering web pages.

Anita is written in Python and uses the pexpect module to "screen scrape" the sysinst output over an emulated serial console and script the installation procedure.

Anita is currently capable of installing the i386, amd64, and sparc NetBSD ports. If you know how to manually install some other NetBSD port in qemu using a serial console, please send a full typescript of the terminal session to the anita author so that that support for that port can be added to anita.

Anita fully supports cross-installation setups where the machine running anita is a different architecture from the virtual machine being installed on. Anita has also been successfully used to cross-install NetBSD in virtual machines hosted on operating systems other than NetBSD itself, including FreeBSD, Linux, and Mac OS X.

Here's an animated screenshot of Anita 1.2 installing and booting NetBSD 4.0RC3:

For more information, see the anita(1) man page in the latest anita distribution.

Anita is available via pkgsrc as misc/py-anita. You can also download it manually here.


[To gson's home page]