The drydock documentation is clear enough on the fact that it's designed to operate in environments where acquiring new resources is is cheap and easy, so I suppose this may be a philosophically incorrect request. However, there are some severe problems that occur in our world where we do have a limit to the number of machines we have access to.
General constraints:
- Our build is very heavy, and leaks all over the system as well, it's not possible to run more than 1 build on any given machine
- We use our own hardware, and can only rack servers so fast, demand regularly outpaces supply
Primary use:
- Every revision update triggers a harbormaster build via herald
Curveball:
- We have two "lease working copy" steps inside the build plan
We have encountered the scenario where enough revisions were created/updated in a short amount of time that most of them succeeded in obtaining one lease, then our resource limit was hit, and the builds essentially deadlocked eachother because they could never finish without getting a second lease, which all of their siblings were holding, waiting for leases as well.
I'm not quite sure how to get around this, other than just running two separate build plans, but for a number of reasons that will be difficult for us to accomplish short term.
Ideas?