I like that this moves the provisioning to the build log.

I do agree that certain issues should fail immediately (image not found). 
Certain other issues should perform exponential backoff (Cloud infrastructure 
down). Provisioning limits could be annoying though, would be interesting if 
they could be left in the queue until Jenkins side provisioning limits are not 
violated. I am not sure how to handle an environment like Kubernetes though 
where other entities may be utilizing resources and you have to "share".

You mention using labels to pick the slave. I'm wondering if it would be 
feasible and worthwhile to make such a plugin generic to be the middle layer 
for the Jenkins hooks to the cloud specific implementation (Docker, Kubernetes, 
AWS).

It could also handle the logic of some users wanting to configure slaves on a 
per job basis. Would be interesting if could also be integrated into cloudbees 
folder level. If the later could work then I wouldn't need to run my own 
Jenkins install at work for using containers and instead could use the company 
cloudbees Jenkins.

-
Thomas

From: <[email protected]<mailto:[email protected]>> 
on behalf of nicolas de loof 
<[email protected]<mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Friday, March 4, 2016 at 3:08 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: One-Shot Executors

Hi folks,

Yoann and I have extracted from our docker-slaves hack-ish pet project a stable 
sub-component so a plugin can manage slaves that are dedicated to a Build, not 
relying on Cloud API, and get them tied to a Build. i.e Slave and Build share a 
common lifecycle. If Slave fails to start, Build will fail as well. If slave is 
slow to start (maybe pulling a huge docker image), build log will report the 
progress.
etc.

design and use-case : 
https://wiki.jenkins-ci.org/display/JENKINS/One-Shot+Executor
code : https://github.com/jenkinsci/one-shot-executor-plugin

the current code base do rely on hacks, our goal is to demonstrate this use 
case (can be tested reusing 
sample<https://github.com/jenkinsci/one-shot-executor-plugin/blob/master/src/sample/java/org/jenkinsci/plugins/dockerprovisioner/DemoOneShotProvisioner.java>)
 so we can get the adequate hooks introduced in jenkins-core and later 
re-implement same API on a cleaner basis.




--
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANMVJznmnydODNX%2BYXmh0ujnJXsoZWcPT%2BpJCWwdR0_wUpfDTQ%40mail.gmail.com<https://groups.google.com/d/msgid/jenkinsci-dev/CANMVJznmnydODNX%2BYXmh0ujnJXsoZWcPT%2BpJCWwdR0_wUpfDTQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/D305926F.28292%25thomas.suckow%40pnnl.gov.
For more options, visit https://groups.google.com/d/optout.

Reply via email to