Starting VMWare Image automatically

Hi all,
I tried to setup the VMWare Plugin as described in this page: http://confluence.jetbrains.net/display/TW/Cloud-VMWare+plugin

I see the registered image in TeamCity and can start it manuelly and run builds on it. I don't want the Image running all the time though. Based on the documentation of the Cloud Integration in TeamCity it should be possible that TeamCity starts the Image if it has build requesting it in the Build Queue and stopps it after the specified idle time.

Unfortunately I wasn't able to get TeamCity to start the image automatically. I neither see the registered images in the Manual Build Triggering form, nor won't it start the image if it should based on the build properties.

How is this supposed to work?

Another problem is that if I stop the image, which is running Windows 7, it immediatly stops the image without properly shuting down Windows, resulting in an message at the next startup. How can the images be shutdown properly?

Thanks in advance
Pascal

3 comments
Comment actions Permalink

I managed to get the VMWare Image to start automatically (it was a configuration error). I also found the switch in the image to disable the persisting of the hard disks.

But I have another problem: I would like to make the TeamCity plugin to shutdown the virtual image immediately after it has finished the build. This because we need TeamCity as our test environment and want to have a clean system environment before we start new tests. Is this possible?

Thanks
Pascal

0
Comment actions Permalink

I just found http://youtrack.jetbrains.net/issue/TW-11893, which is exactly the same request as I've asked here. Is there really currently no solution for this?

This is also for us for our test environment where we need to make sure that we have a defined environment. Also I'm not sure what happens in this case:

  • You have only 1 build agent in the cloud with two images "A" and "B"
  • There is currently an build running which requires image "A"
  • There are two builds more in the queue: The first requires image "B", the second requires image "A"

Since  image "A" is not shutdown after finishing the build, at the time when  the next build in the queue should be processed there is only a build  agent with image "A" available. Since no other agents are available,  would TeamCity process with the second build in the queue or wait until  the idle time is reached and the agent is shutdown?

Either solution  would not be what I expect: If it processes with the second entry, this  can result in the build requiring image "B" being ignored for a long  time (imagine that there are a lot of other builds in the queue which  require image "A"). If it waits for the idle time to shutdown the agent  it will waste a lot of time doing nothing.

The only correct solution  in this case for me would be to have the possibility to have the agent  shutdown immediately after finishing a build.

0
Comment actions Permalink

Pascal,

In the configuration you describe (one machine, two images), TeamCity does not have any special logic to address limitation in resources and build requiring image B can indeed wait in the build queue until image A is shut down on idle time.

Seems like thisrequires a special addressing. shutting an image down after each build can help, but this is yet to check.

0

Please sign in to leave a comment.