I have several heavyweight jobs that warranted being limited so that multiple builds do not run concurrently on a single (multi-executor) agent node, so I've configured a Throttle Concurrent Builds category accordingly (setting "Maximum Concurrent Builds Per Node" to 1). However, I've observed that if my existing agents are all running 1 build each of this job, additional builds for this job will simply be queued up (with an "Already running 1 builds..." message) without causing new dynamic agents to be spawned. (We use a vSphere cloud for such agents.)
I would ideally want a build that is blocked only because of a TCB limit on per-node builds to be treated as any other build that doesn't have a current eligible, available executor on an existing agent – namely, to trigger the creation of a new agent. Instead, it remains blocked until one of the existing agents (permanent or dynamic) is no longer running a build of that job.
Is that feasible? Or is there a different way to accomplish this behavior with the current state of Jenkins and these plugins?