在Ansible中,如果在任务循环期间使用hostvars变量时,意外地被组中最后一个主机的值覆盖,可以采取以下解决方法:
- name: Example Playbook
hosts: all
gather_facts: false
tasks:
- name: Set hostvars
set_fact:
my_var: "{{ hostvars[item].my_var }}"
with_together:
- "{{ groups['my_group'] }}"
- name: Example Playbook
hosts: all
gather_facts: false
tasks:
- name: Set hostvars
set_fact:
my_var: "{{ hostvars[item]['my_var'] }}"
with_items: "{{ groups['my_group'] }}"
这些方法可以确保在任务循环期间正确引用hostvars变量的值,而不会被组中最后一个主机的值覆盖。