-
Improvement
-
Resolution: Fixed
-
Major
-
None
Some cloud providers have limits on rate of instance creation: e.g. 2/second, 25/minute.
If 3 instances are specified in JClouds Instance Creation for a build, then it will fail because it will exceed the provider's limit by trying to request 3 concurrently.
Introducing a "delay between requests" (e.g. 1-10 seconds) would resolve this issue at little relative cost to the build time.
NOTE: this feature could instead be added for the Cloud Instance Template in the Configure System section of Jenkins which would fix a similar issue: if multiple concurrent builds that are attached to this label are executed at the same time causes this rate to be exceeded (I think)
I've made a patch that implements a delay in JCloudsSlaveTemplate in the get() function - I had to synchronize on an object too because it's called by the Jenkins threadpool stuff in batches. I can throw together a pull request sometime this week, probably.