Add VMware Lab Manager support to Hudson
This project is hosted at GitHub.
This plugin add to Hudson CI a way to control Virtual Machines hosted on VMware Lab Manager. You can configure an Hudson Slave, selecting a virtual machine from a Organization / Workspace / Configuration triplet, in this way, when you need to build a Job on a specific Slave, this VM will be startup up and shutdown or suspended again after the build process.
To rebuild the WSDL2Java created files you will need to install Axis2 and use the wsdl2java program. All runtime requirements are included.
The first step is to configure Hudson to know what configuration in Lab Manager you will be using. To do this you need to add a new "Cloud" in the Hudson "Configure System" menu.
The required parameters to setup are:
If you need some other particular settings, you can click on the Advanced button to change the default parameters.
To verify all you parameters you can click on Test button and check the output reported.
Now you can setup your nodes in hudson and use them to build your projects.
Going ahead with configuration you can see a page that looks like the normal node creation page, with three combo box added. The first one where you have to select the Lab Manager instance (the brief description provided in the configuration section). In the second one you pick the name of the Virtual Machine in Lab Manager configuration that you are using. In the third drop down you select the action to be taken when the VM is idle (it is recommended to pick shutdown over suspend due to overhead in Lab Manager).
If you then select the option to have the slave be taken on or offline based on demand. Note that if you select Shutdown or Shutdown and Revert for an idle behavior the slave will not be available immediately. It will however come online once demand is polled a second time. Finally, if using a JNLP slave (ie for Windows), you must check the Force VM launch option. Doing this along with the normal best practices to have a Windows slave turn on and auto-start the JNLP client is all that is required specially for Windows. All slaves must have the VMware Tools installed in order for it to be cleanly managed.