If I have a plan with 5 containers, and set parallelism to 2x, only two builds can run concurrently (each using 2 containers). The third build will queue up and wait until there are 2 available containers for it to run on.
Even worse, if I were to set parallelism to 3x, only one build can ever be run concurrently, with the other 2 containers always on standby.
I would expect the next build to start if there are free containers, even if that number is lower than the parallelism setting. Otherwise I must always have a number of containers that is a multiple of my parallelism count, or I will be wasting my idle containers.
I asked customer support about this, and it seems like this is the intended behaviour. I can see why; users might depend on builds always using the same number of containers. Therefore, this is a feature request for a new configuration option.
The new option would let me “fill up” my build with the available number of containers, even if that number is less than my max parallelism, as described above. It could be named something along the lines of “Allow builds to start with fewer containers”.