libvirt is a hypervisor library that is used for managing virtual machines locally or remotely. It has a PHP API at http://libvirt.org/php/.
In the same way that the EC2 blueprint dynamically allocates hosts, we should have a libvirt-based blueprint that can be used to dynamically allocate virtual machines on pre-existing hardware. This is similar to Preallocated Hosts, except that for libvirt only the hypervisor machine has to be added (as a blueprint), rather than all of the virtual machines (as resources).