我有一些变量的角色,而不是我多次使用不同的参数,如下所示:
roles:
- role: my_role
vars:
role_uuid: uuud_1
first_param: first
- role: my_role
vars:
role_uuid: uuid_2
second_param: second
问题是当我的角色被执行时:
- 第一个角色实例uuid_1有一个设置为second的参数second_param
- 第二个角色实例uuid_2的参数first_param设置为first。
要恢复,两个实例都设置了参数first_param和second_param。
似乎角色my_role的实例的参数被合并了,然后只有不同的部分是真正不同的(这里是role_uuid)。
有没有办法避免这种合并?
这是本
roles
节中定义的角色所期望的。在(or ) 中使用
include_role
orimport_role
模块来避免该问题:tasks
pre_tasks
一个选项是在my_role中动态包含变量
$ 猫变量/id_1
$ cat vars/id_2
然后运行播放
$猫玩.yml
$ ansible-playbook play.yml | grep 消息