From: David A. <w.d...@gm...> - 2013-11-17 20:35:38
|
All - I have good news concerning the Build Machine. In order to get the full significance of this a little history is necessary. Each platform VM requires a significant amount of overhead for set up and shut down. Because it is very hard to know how long an VM will take to be ready for an ssh command to be sent to it in order to perform a build, I sleep in my script for 4 minutes to make sure that the VM is really ready and that the ssh daemon on the VM is fully initialized (including the network). A similar sleep (about 2.5 minutes) is performed when I shut down the VM to make sure that all the resources have been returned to the host so I do not run short of memory when I start the next VM. As you can see it sometimes takes longer to start and stop a VM than to actually perform the build for the ooRexx install files. Currently a build run for all platforms takes 5.5 hours and a lot of that time is just spent waiting for things to get started or stopped. But I have now found a way to completely eliminate the start up and shut down phases for each platform VM. I now save the state of the VM to a file at the end of a build (takes about 5 seconds) and then I restore that state (takes about 7 seconds) before the next build. When you restore the state the VM is immediately available and when you save the state the VM is shut off. I estimate this change will reduce the total build times by 50%, maybe more. What this means is that I will be able to take on more platforms for building ooRexx without significant impact to the time to perform the daily builds. If any of you have suggestions for additional platforms for daily ooRexx builds please let me know. David Ashley |