This weekend I managed to find 2 entire timeslices to concentrate on PITA.
So after completely isolating myself in the office over the weekend, I have finally managed to complete the integration of PITA::POE::SupportServer (which is a POE-based server written by Chris Williams that launches and monitors the virtual machine in a couple of very specific ways, while simultaneously providing a web server and CPAN mirror to the virtual machine and collecting results via PUT requests) with the main Guest API (which is the API that lets you take a "guest" environment as an object, throw a testing request at it, and it does all the magic to provide you a result).
Some additional tidying up to make sure all the parts are in sync and I've celebrated with a complete set of module releases, at version 0.40.
Because this means that the PITA Core (the fundamental processing loop) is now officially "working".
On a side note, as part of the very thorough test suite, I've uploaded PITA::Test::Image::Qemu to the CPAN, which I think marks the first time that anyone has uploaded an entire Linux distribution into the CPAN
(Before you freak out, it's an extremely heavily customised busybox-derived distribution, only 1.1 meg in size)
Now, where to next.
With the PITA Core working, the next phase is dealing with images and working out how to actually build a PITA Host.
Fortunately, in this area is MUCH more straight forward that the Bog of Virtual Machine Integration (just down the valley from the Bog of Stench) so I expect work to proceed far more quickly and at a more measured pace.
The first step is the Guest Storage API. This provides a mechanism to store, add, search, manage and generally look after guests. It's just a simple data storage exercise, except that in some cases the "data" consists of 2 gigabyte disk images with attached XML metadata.
As soon as this is working I plan to wrap the first command line application around it, so you can create a guest store, add and remove guests, and download them from remote stores, and so on.
Once this kind of tool for managing images in place, I'll be looking at putting together the first production-grade testing virtual machines, based on a series of excellent debian images already available from the pitahosting.net website.