Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is anyone aware of a tool for automating the creation and deployment of virtual machines across different hypervisor platforms? I work on web applications running on EC2, Xen, KVM, and VMWare, and I'm currently writing separate deployment scripts for each platform. Since there's a lot of redundancy, I'd like to find a single tool that can deploy to each platform.

I'm aware of tools that only work with a single platform, like Vagrant. The only one I've found that claims to work with nearly all VM platforms is VM Builder. How does it compare to each platform's native tools? Are there any other options like it?

share|improve this question
add comment

3 Answers

up vote 7 down vote accepted

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)
share|improve this answer
    
Or OpenNebula –  sam Feb 23 '12 at 15:46
    
Just an update, but Openstack/OpenNebula are hugely overcomplicated tools that take weeks to setup. They seem designed more for someone wanting to setup their own Amazon EC2 service, not someone like me who just wants to spinup a few VMs on arbitrary platforms. –  Cerin Jun 22 '12 at 13:15
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.