[JIRA] [ec2-plugin] (JENKINS-25832) Launch multiple slaves in parallel for jobs with same node label

21 views
Skip to first unread message

leonid.beder@gmail.com (JIRA)

unread,
Feb 11, 2016, 11:22:01 AM2/11/16
to jenkinsc...@googlegroups.com
Leonid Beder commented on New Feature JENKINS-25832
 
Re: Launch multiple slaves in parallel for jobs with same node label

Hi,
I'm experiencing exactly the same issue, which prevents me from fully parallelizing my builds.

Is there an expected fix or a work around to this issue?

I've tried the above, but nothing worked:
1. Adding another label restriction to the job and adding another AMI with this label - still, the every consequent job was queued.
2. Adding another label restriction to the job and adding the label as another label to the same AMI.

I'd really appreciate your help,
Leonid

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

me@joshma.com (JIRA)

unread,
Apr 19, 2016, 12:16:02 PM4/19/16
to jenkinsc...@googlegroups.com

Agreed! Right now I'm running a few permanent slaves to help with this, but it'd be great if the EC2 plugin's response scaled with the # of pending builds. Otherwise, it seems like it'll wait a few minutes to determine a new machine is needed, wait a few minutes to determine a new machine is needed, and so on.

krismassey@gmail.com (JIRA)

unread,
Apr 22, 2016, 3:09:01 AM4/22/16
to jenkinsc...@googlegroups.com

We're being hit by the same issue. Could this be made a configuration option? I can see why someone people may want to start nodes sequentially to fully ensure the node limit is not exceeded...however when you've got 10+ slaves, having to wait for each slave to start sequentially is extreamly slow

vthakur@splunk.com (JIRA)

unread,
Apr 22, 2016, 1:10:03 PM4/22/16
to jenkinsc...@googlegroups.com

We were facing the same issue earlier and then we tuned our jam with these 2 settings

-Dhudson.model.LoadStatistics.decay=0.1
-Dhudson.model.LoadStatistics.clock=1000

and then this issue was gone

maxdrib@gmail.com (JIRA)

unread,
Jun 20, 2016, 3:01:04 PM6/20/16
to jenkinsc...@googlegroups.com

Vikas,

How did you go about changing the Dhudson.model.LoadStatistics.decay and Dhudson.model.LoadStatistics.clock parameters? Does this require a change in the source code, or is there an easier way to set it?

This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

vthakur@splunk.com (JIRA)

unread,
Jun 20, 2016, 3:07:02 PM6/20/16
to jenkinsc...@googlegroups.com

These are JVM settings. This doesnt need code change

cheecheeo@gmail.com (JIRA)

unread,
Jun 20, 2016, 3:25:02 PM6/20/16
to jenkinsc...@googlegroups.com
J C commented on New Feature JENKINS-25832

To add my experience: modifying the LoadStatistics parameters did not help for bursty queues. Looking at the (quite complicated) LoadStatistics code, maybe these parameters help over a longer period of time. I ended up writing a shell script that uses Jenkins' REST api to look at the queue length, the number of offline agents, and then provisions nodes immediately.

maxdrib@gmail.com (JIRA)

unread,
Jun 20, 2016, 5:21:01 PM6/20/16
to jenkinsc...@googlegroups.com

Thank you all. Changing the JVM parameters worked for me. For future reference, instructions on changing JVM's for Jenkins can be found here http://stackoverflow.com/questions/14762162/how-do-i-give-jenkins-more-heap-space-when-its-running-as-a-daemon-on-ubuntu. Now if there are multiple jobs in the queue, Jenkins will boot up a new instance, and when it boots, it will re-evaluate the queue. If more jobs remain, it will instantly boot up another instance.

vthakur@splunk.com (JIRA)

unread,
Jun 20, 2016, 5:32:03 PM6/20/16
to jenkinsc...@googlegroups.com
Vikas Thakur resolved as Fixed
 
Jenkins / New Feature JENKINS-25832
Change By: Vikas Thakur
Status: Open Resolved
Resolution: Fixed

maxdrib@gmail.com (JIRA)

unread,
Jun 21, 2016, 10:12:02 AM6/21/16
to jenkinsc...@googlegroups.com
Maxwell Dribinsky edited a comment on New Feature JENKINS-25832
Thank you all. Changing the JVM parameters worked for me. For future reference, instructions on changing JVM's for Jenkins can be found here http://stackoverflow.com/questions/14762162/how-do-i-give-jenkins-more-heap-space-when-its-running-as-a-daemon-on-ubuntu. Now if there are multiple jobs in the queue, Jenkins will boot up a new instance, and when it boots, it will re-evaluate the queue. If more jobs remain, it will instantly boot up another instance.


I would also like to include that the link below suggests NOT using LoadStatistics.clock values of less than 3000. I was able to launch new slaves within ~15 seconds using a clock value of 3000
https://cloudbees.zendesk.com/hc/en-us/articles/204690520-Why-do-slaves-show-as-suspended-while-jobs-wait-in-the-queue-

maxdrib@gmail.com (JIRA)

unread,
Jun 21, 2016, 3:59:03 PM6/21/16
to jenkinsc...@googlegroups.com
Maxwell Dribinsky reopened an issue
 

Workaround doesn't launch slaves for each job in queue at once. It still launches one at a time, but slightly faster. The original issue persists.

Change By: Maxwell Dribinsky
Resolution: Fixed
Status: Resolved Reopened

vintrojan@gmail.com (JIRA)

unread,
Dec 27, 2016, 2:12:02 PM12/27/16
to jenkinsc...@googlegroups.com
Vinay Sharma commented on New Feature JENKINS-25832
 
Re: Launch multiple slaves in parallel for jobs with same node label

Vikas Thakur Hi,
Regarding the JVM settings :
-Dhudson.model.LoadStatistics.decay=0.1
-Dhudson.model.LoadStatistics.clock=3000

Did u add these JVM settings in the jenkins.xml file or the EC2 plugin (textbox) in Jenkins ?

raihaan.shouhell@autodesk.com (JIRA)

unread,
Jun 26, 2019, 12:00:04 PM6/26/19
to jenkinsc...@googlegroups.com
Raihaan Shouhell resolved as Fixed
 

This has already been fixed in 1.40

Change By: Raihaan Shouhell
Status: Reopened Resolved
Resolution: Fixed
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)
Reply all
Reply to author
Forward
0 new messages