在Ansible中,变量名称的范围是全局的,因此如果变量名称与Ansible Facts的键匹配,则会发生命名冲突。要解决这个问题,可以给变量名称添加前缀或后缀,以使其与Ansible Facts的键不匹配。例如:
- name: Install packages
vars:
my_packages:
- package1
- package2
tasks:
- name: Get system facts
setup:
- name: Ensure packages are installed
yum:
name: "{{ my_packages }}"
state: present
在这个示例中,我们将变量名改为'my_packages',以避免与'ansible_facts.packages'发生冲突。