Project

General

Profile

Actions

Bug #38247

open

Missing documentation on how remote execution batching works for ansible

Added by Martin Spiessl about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Fixed in Releases:
Found in Releases:

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

concurrency_level.png View concurrency_level.png 105 KB Martin Spiessl, 02/27/2025 06:52 AM

No data to display

Actions

Also available in: Atom PDF