On Thu, Oct 18, 2012 at 10:43:23AM -0700, xterm wrote: > well, as i see it, this is what i believe to be the problem: > > 1. the jenkins server and target start off with a channel (connection) > 2. the channel is disconnected using: > 2a. beforeDisconnect > 2b. disonnect > 2c. afterDisconnect > 3. the vm is reverted to desired snapshot > 4. the vm is powered on > 5. waits for vmtools > 6. islaunchsupported: launch > 7. setChannel(in, out, tasklistener, channel.listener) > 8.
So the way I had worked with this problem is to have the VMs be on-demand, so it went (since I had different groups, single VMs could be used instead): 1. Jenkins says I want a 'buildhost-distroA-revert-on-boot' slave 2. Jenkins picks one of the VMs with that label, turns it on. 3. All VMs with that label are configured as revert-on-boot so that the first thing that happens is LabManger (esx under the hood) reverts to the snapshot and the second thing is it turns the VM on. 4. Jenkins connects with the slave This is all off the top of my head and might differ slightly from implementation, but it's the general idea behind it. -- Tom
