Ansible Controller中vars_files路径错误致文件找不到的解决方法
问题解决步骤
1. 修复路径大小写不匹配
Linux文件系统是大小写敏感的,错误日志里显示Ansible在查找create(小写)目录,但你的Playbook里写的是Create(大写)。先确认服务器上实际的目录名是Create还是create,然后把Playbook里的角色名和vars_files路径统一成和实际目录一致的大小写。
2. 删除AWX变量区域的vars_files配置
警告提示「Found variable using reserved name: vars_files」,说明你在AWX的「变量」区域设置了名为vars_files的自定义变量,这是Ansible的保留关键字,绝对不能作为自定义变量名使用,直接删掉这个变量配置。
3. 优化变量加载方式(二选一即可)
- 改用相对路径:把Playbook里的绝对路径改成相对于
playbook.yml的相对路径,避免AWX环境路径变化导致的问题:- name: Create from data hosts: localhost roles: - role: Create vars_files: - roles/Create/vars/appendvars.yml - name: Delete from data hosts: localhost roles: - role: Delete vars_files: - roles/Delete/vars/appendvars.yml - 更规范的做法:Ansible角色的
vars目录下的YAML文件会被自动加载,根本不需要手动用vars_files引用。直接删掉Playbook里所有的vars_files条目即可,变量会自动生效,还能彻底避免路径问题。
4. 验证AWX项目同步状态
确保AWX已经同步了最新的项目文件,在AWX的项目页面点击「同步」按钮,确认所有角色目录和vars文件都已经正确同步到AWX服务器上。
内容的提问来源于stack exchange,提问作者Blitzden
相关产品推荐
相关产品推荐

