我需要以某种方式遍历变量列表,并为每次迭代一次执行以下两个角色,每次迭代将变量传递给角色。例如,给定变量列表100-101,我需要按role1:100,role2:100,role1:101,role2:101的顺序执行。变量100-100应该传递给角色内部的任务。
cd /usr/local/opt/proj/lib/
ln -s libproj.13.dylib libproj.12.dylib
我一直在寻找以下答案作为可能的解决方案,但不确定如何使其适应我的需求。可以在Ansible中完成上述方案吗?
答案 0 :(得分:0)
遍历变量和角色名称的笛卡尔积:
vars:
roles_to_include:
- role1
- role2
values_to_pass:
- 100
- 101
tasks:
- include_role:
name: "{{ item.1 }}"
vars:
my_variable: "{{ item.0 }}"
loop: "{{ values_to_pass | product(roles_to_include) | list }}"