Bug #38247
openMissing documentation on how remote execution batching works for ansible
Description
I could not find good documentation on how job batching works when running something like an ansible playbook.
Clearly, the jobs are not launched separately inside a batch, since ansible will wait for all hosts to finish the current task before proceeding to the next task,
which looks like there is one ansible process that is spawned on all hosts in the batch.
However when I look at the hint explaining the "concurrency" option when creating a remote job to run some ansible playbook, the hint reads as follows:
Run at most N tasks at a time. If this is set and proxy batch triggering is enabled, then tasks are triggered on the smart proxy in batches of size 1.
This is very brief (I would have expected more information in the docs, but there is not much more there). Also the "batches of size 1" really looks like a typo.
I found a good explanation in this gist: https://gist.github.com/adamruzicka/84db7f4102b33fa95d7cd6bd37402e50
With this information, I can understand that the "batches of size 1" are indeed what happens on a normal remote job on the smart proxy, it launches each subtask from the current batch separately
This gist also explains that for ansible the behavior is indeed different and the playbook is launched with one ansible job for all hosts in the batch. This should be documented somewhere.
Files
No data to display