The log streaming callback is not being called in the same way
in Ansible 2.5 as it was in 2.3. In particular, in some cases
different Task objects are used for different hosts. This,
combined with the fact that the callback is only called once for
a given task means that in these cases we are unable to supply
the zuul_log_id to the Task object for the second host on a task.
To correct this, a local copy of the linear strategy plugin is
added, with the change that for every host-task, it calls either
the normal on_task_start callback, or a new zuul_task_start
callback. This ensures that we are able to set up log streaming
on every host-task.
We plan to move to a different system for establishing log streaming
soon so that we don't have to keep carrying this patched plugin.
Co-Authored-By: Tobias Henkel <firstname.lastname@example.org>
Co-Authored-By: Clark Boylan <email@example.com>