我需要执行一个 ansible 角色两次,并为一组变量设置不同的值,有没有办法指定角色从哪个文件中获取变量列表的值? 例如:
- name: install-vmtest
hosts: test_nodes
roles:
- { role: test, var_file: variables1.yml }
- { role: test, var_file: variables2.yml }
使用此剧本可以实现所需的行为:
- name: install-vmtest
hosts: test_nodes
tasks:
- name: Run test role with first set of vars
ansible.builtin.import_role:
name: test
vars_from: variables1.yml
- name: Run test role with second set of vars
ansible.builtin.import_role:
name: test
vars_from: variables2.yml
变量文件必须位于角色的
vars/
目录下。
来源https://docs.ansible.com/ansible/latest/collections/ansible/builtin/import_role_module.html