Within my organization, we use the "run once" strategy, so that every build runs within a completely clean environment. We love this – we know that no build could ever effect the environment of another build, each one runs within its own VM that is started on demand from a snapshot, and we have a very clean build process because of this. We love the vSphere plugin.
But we do have some people who complain that it takes a while for the vm to become available – usually between 1 1/2 to 3 minutes, with linked clone, boot, vmware tools becoming available, ssh'ing to the machine, starting of the slave, etc.
It would be great if we could configure the vSphere plugin in such a way that there are always spares "waiting" on the next build to come in.
It would work something like this: configure 2 hot spares, with a run-once strategy. The slaves are started, and just sit there. When a build comes in, its sent to that machine, and the vSphere plugin would create another hot spare (so there are always 2). The build triggered would run on the slave started earlier, and when that build was done, that VM would be destroyed.
This would give us all the benefits of single use / single build VMs, but remove the wait time imposed by this strategy. I don't think this is possible with the current plugin, but perhaps I haven't figured out the correct combinations of settings.