问题原因可能是文件路径或文件格式的问题。需要注意一下几点:
- include_vars的文件路径应该是相对于playbook文件的路径,而不是相对于inventory文件的路径。
- 文件格式应该是YAML或JSON格式,否则include_vars无法解析。
- 默认情况下,如果文件路径为相对路径,则Ansible会在当前工作目录下查找该文件。可以通过在playbook文件中引入vars_files选项来设置默认变量文件的路径:
- hosts: myhost
vars_files:
- vars/vars.yaml
- 如果还是无法加载文件,可以使用绝对路径来引入文件,例如:
- name: include variables
include_vars:
file: /etc/ansible/vars/vars.yaml