Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to setup a dynamic test environment on top of VMware infrastructure. The goal is to have my test application call some service that triggers the whole provision process:

  • Create a VM
  • Install my application's most recent build
  • Run a list of configurations
  • Start/Stop services

Later I need to be able do destroy the machine!

Is there a piece of software that can handle this process? Or do I need to assemble one custom made?

share|improve this question
up vote 2 down vote accepted

VMware does have some products for this sort of workflow; Lab Manager or Orchestrator could automate most of what you want. If you want to save some cash on the provisioning / teardown process, you could roll your own solution using their scripting API and V(I)MA(forums here)

To automate your app deployment and configuration, Puppet or cfengine will do config management and application installation, and can be used with Capistrano for general purpose automation.

share|improve this answer

VMware's vCenter Lab Manager product is designed for exactly this purpose.

Granted, you have to pay for both vSphere and Lab Manager licenses, but if you're already in a VMware environment and you plan on doing a lot of automated testing, the cost will likely be worth the benefit.

share|improve this answer

Commercially, Novell has a product called Zenworks Orchestrator 2.0 that you might find interesting.

Since they bought PlateSpin they have been integrating functionality from PlateSpin's portfolio into the Orchestrator product.

It is admittedly aimed probably a bit higher than you are looking for, alas. More of a focus on big data centers, with workloads that change rapidly, such as a large SAP system, that might need to spin up some VM's to do work over night, then spin them down during the day, or really at any point.

Very neat and interesting (and complex) product. Pretty cool, but commercial, and may be more than you are looking for.

share|improve this answer

I would create a barbones VM with just the OS etc. Then you can just copy the VM files to clone the VM and then automate the build process within the VM. Not exactly what you were asking for, but thought I would give my KISS principle answer :-) You could also just use the snapshot feature within VMWare workstation.

share|improve this answer

me best advice is : use snapshots options, this way you can clone your barbones VM in a few seconds and destroy it after all your test are done. if you are using Linux, you can user lvm or vmware snapshot feature, both of them works perfectly.

share|improve this answer

Sitting in a puppet-training at the moment, so I'd have to say... puppet by Reductive Labs.

  • Able to use your manifests/recipes on non-vm machines
  • It's aware of different VMs
  • No vendor lockin
  • Scales well
  • Open Source

What it doesn't do is actually spawn your VM (that I'm aware of).

share|improve this answer
The best way to go from nothing is to have your ticket system kick off a build-vm script which gets the host through the base install and with the puppet client installed, puppet can take it from there. – LapTop006 May 27 '09 at 12:07
I find puppet interesting, too, but what about the support for Windows? :-) – Cristian Ciupitu May 27 '09 at 16:06

Your Answer


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.