libvirt is aKVM is a common hypervisor library that isr used for managing virtual machines locally or remotelyby Linux servers. It haIt offers a PHP API at http://libvirt.org/php/reasonable comparison to say EC2, without costing users thousands of dollars.
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)Roughly I think this is something Phabricator should support before EC2, rather than all of the virtual machines (as resources)as it provides a solid testing bed for complex Drydock interactions before we risk real user dollars.