Before every test run we ensure all subject are stopped and that their data directories are cleaned. This reset process takes a couple of minutes, which isn't long, but could be avoided if we ran the cleanup steps in parallel. Ansible does not make this easy with the way we load in roles:
become: true
roles:
- role: filebeat
action: stop
- role: fluentbit
action: reset
- role: fluentd
action: stop
- role: logstash
action: reset
- role: splunk_heavy_forwarder
action: reset
- role: splunk_universal_forwarder
action: reset
- role: vector
action: reset
- hosts: '{{ test_namespace }}:&tag_TestRole_consumer'
become: true
roles:
- role: logstash
action: reset
- role: tcp_test_server
action: stop
Therefore we might be better switching these to include_role steps, which I believe allows for more flexibility around parallelization of steps.