cloud node provisioning while having idle Mode.EXCLUSIVE nodes

96 views
Skip to first unread message

Ivan Meredith

unread,
May 23, 2012, 3:57:24 AM5/23/12
to jenkin...@googlegroups.com
Hi all,

I have a couple of executors connected to DEV@cloud Jenkins, however
they are reserved for jobs that specify their specific labels, all
other jobs (including ones that dont specify labels) need to run on
cloud nodes.

The issue I'm running into is that when it comes to build a job (that
specifies no label), Jenkins does not start the cloud node. Jenkins
sees that there are 2 idle executors, and so doesn't provision any
cloud nodes, even though the job wont run because they are marked as
Mode.EXCLUSIVE.

I suspect the way we use the cloud extension point in DEV@cloud
exacerbates this issue as we disconnect the slave as soon as the job
queue is empty. I'm not sure if other cloud plugins do this?

When I specify a label that the cloud can provision, it all works fine.

I think the issue is that NodeProvisioner use OverallLoadStatistics
doesn't take into account of the above use case.Probably a patch for
NodeProvisioner is needed - at first I thought it was
OverallLoadStatistics that was wrong, but now I dont think so after
finding that labels implement their own stats.

Any ideas on what the 'right way' is to fix this bug?

Thanks, Ivan

Ivan Meredith

unread,
May 23, 2012, 4:18:07 AM5/23/12
to jenkin...@googlegroups.com
Well, it looks like I was able to hack something working with
https://gist.github.com/7c045cf3d015c21fbc85 - but as you can see its
not a good solution, and not something that could go back into
upstream heh.

Kohsuke Kawaguchi

unread,
May 23, 2012, 8:38:22 PM5/23/12
to jenkin...@googlegroups.com, Ivan Meredith

I believe
https://github.com/jenkinsci/jenkins/commit/be1f8f91a3dcdcdfd2ed07198659e7eb68abf1f7
fixes this problem.
--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Nectar, our professional version of Jenkins
Reply all
Reply to author
Forward
0 new messages