R – Automating VMWare or VirtualPC

virtualizationvmware

I'm currently experimenting with build script, and since I have an ASP.net Web Part under source control, my build script should do that at the end:

  1. Grab the "naked" Windows 2003 IIS VMWare or Virtual PC Image from the Network
  2. Boot it up
  3. Copy the Files from the Build Folder to the Server
  4. Install it
  5. Do whatever else is needed

I have never tried automating a Virtual Machine, but I saw that both VMWare and Virtual Server offer automation facilities. While I cannot use Virtual Server (Windows XP Home :-(), Virtual PC works.

Does anyone here have experience with either VMWare Server or Virtual PC 2007 SP1 in terms of automation?

Which one is better suited (I run windows, so the Platform-independence of VMWare does not count) and easier to automate?

Best Answer

With VMWare, there is the Virtual Machine Automation APIs (VIX API). You can find the reference guide here. It works with VMWare Server and WorkStation, but AFAIK it's not available for ESX Server.

From the main page for VIX:

The VIX API allows you to write scripts and programs that automate virtual machine operations. The API is high-level, easy to use, and practical for both script writers and application programmers. It runs on VMware Server and Workstation products, both Windows and Linux. Bindings are provided for C, Perl, and COM (Visual Basic, VBscript, C#).