Community
Participate
Working Groups
Many(almost all) Virgo build jobs rely on having free jmx and http ports when executing their test. However when a push in all repositories is performed within very small time interval the respective Hudson build jobs are triggered almost at the same time. An example is a ripple which does its thing and pushes at the end of the operation in every participating repository. This leads to many false build failures and a rebuild after some time solves the problem. This sometimes consumes a lot of time and distracts us for no real reason, depending on the number of failed jobs. There are a number of solutions we could think of: 1. Somehow serialise the jobs so that the jobs from the Virgo group are always built one at a time 2. Perform the builds on a Hudson slave that can handle only one job at a time 3. Make sure every test group in each repository relies on different ports
Sounds like a job for the following plugins: http://wiki.hudson-ci.org/display/HUDSON/Locks+and+Latches+plugin http://wiki.hudson-ci.org/display/HUDSON/Port+Allocator+Plugin
Stuart McCulloch (on IRC freenode #eclipse-hudson) pointed me at these facilities: http://wiki.hudson-ci.org/display/HUDSON/Locks+and+Latches+plugin http://wiki.hudson-ci.org/display/HUDSON/Port+Allocator+Plugin
Whoops - sorry Stuart. You're too helpful. :-)
BTW, depending on the number of projects you might find the port-allocator plugin easier to deal with than the locks-and-latches plugin, especially if you don't have access to the global hudson configuration.
(In reply to comment #4) > BTW, depending on the number of projects you might find the port-allocator > plugin easier to deal with than the locks-and-latches plugin, especially if you > don't have access to the global hudson configuration. We have a lot of projects and a lot of ports configured in various ways, so my next step is to approach the web master about adding a "virgo" lock to the global hudson configuration.
Dear Web Master Would it be possible to add a "virgo" lock to the global Hudson configuration so we can use it to serialise the Virgo jobs which keep treading on each others toes? Thanks!
Ahem, that should have been "each other's toes".
(In reply to comment #6) > Dear Web Master > > Would it be possible to add a "virgo" lock to the global Hudson configuration > so we can use it to serialise the Virgo jobs which keep treading on each others > toes? > > Thanks! Ok I've created the lock: virgo-serialise -M.
(In reply to comment #8) > Ok I've created the lock: virgo-serialise > > -M. Perfect. Thanks! I'd better go and use it now...
I've configured the Virgo jobs which tend to have port clashes along with the sister project Gemini Web to serialise on the lock virgo-serialise. Hopefully that's the end of Virgo and Gemini Web jobs clashing with each other.