我想做的是用include_role
多次调用with_items
的角色。像这样:
- include_role:
name: my_role
with_items: "{{ list }}"
loop_control:
loop_var: struct
然后在角色中,我必须保存命令的输出。但是,由于这是一个循环,我如何保存输出而不会被覆盖?我认为我正在错误地解决问题
答案 0 :(得分:1)
一个选项是将输出附加到列表。例如角色任务
- command: date
register: myoutput
- set_fact:
log: "{{ log + [myoutput.stdout] }}"
- debug:
msg: "{{ log }}"
和play.yml
- hosts:
- localhost
vars:
log: []
list: [1,2]
tasks:
- include_role: name=role
loop: "{{ list }}"
loop_control:
loop_var: struct
。
# ansible-playbook play.yml | grep -A 3 msg
"msg": [
"Sat Sep 22 19:52:38 CEST 2018"
]
}
--
"msg": [
"Sat Sep 22 19:52:38 CEST 2018",
"Sat Sep 22 19:52:40 CEST 2018"
]