Automating virtual machine creation across multiple hypervisor platforms
Solution 1:
You might want to check out OpenStack Compute.
With OpenStack Compute, you can orchestrate clouds using multiple hypervisors in different zones. The types of virtualization standards that may be used with Compute include:
- Hyper-V 2008
- KVM - Kernel-based Virtual Machine
- LXC - Linux Containers (through libvirt)
- QEMU - Quick EMUlator
- UML - User Mode Linux
- VMWare ESX/ESXi 4.1 update 1
- Xen - XenServer 5.5, Xen Cloud Platform (XCP)
Solution 2:
Though I haven't done so myself as yet, I'm planning to go use Cobbler for this purpose. It seems robust enough (at least that was the initial impression from skimming the wiki) that it can handle creating VMs of different hypervisors/kernels and such, and even ties into automated installer scripts pretty nicely from what I hear.
Solution 3:
To get you started:
You can take a look at libvirt and its associated tools, it covers some of the ground you want to cover.