Это работает без &:
---
- name: test
hosts: localhost
vars:
ETL:
file1: "echo hello etl"
file2: "echo hello2 etl"
MSTR:
file3: "echo hello3 mstr"
file4: "echo hello4 mstr"
tasks:
- name: step 1
shell: "{{item.value}} > /tmp/ETL/{{item.key}}.log"
with_dict: "{{ ETL }}"
- name: step 2
shell: "{{item.value}} > /tmp/MSTR/{{item.key}}.log"
with_dict: "{{ MSTR }}"
Я получаю 4 файла (папки ETL / MSTR должны существовать)
/tmp/ tree
.
├── ETL
│ ├── file1.log
│ └── file2.log
├── MSTR
│ ├── file3.log
│ └── file4.log