【发布时间】:2014-07-03 16:37:23
【问题描述】:
我正在使用 Ansible,但模板路径存在一些问题。这是我执行时的错误输出:
$ ansible-playbook -i hosts site.yml
PLAY [users] ******************************************************************
GATHERING FACTS ***************************************************************
ok: [10.0.3.240]
TASK: [templates] *************************************************************
fatal: [10.0.3.240] => {'msg': 'unable to read /home/robe/Desktop/ansible_demo/fig.conf.j2', 'failed': True}
fatal: [10.0.3.240] => {'msg': 'unable to read /home/robe/Desktop/ansible_demo/fig.conf.j2', 'failed': True}
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/robe/site.retry
10.0.3.240 : ok=1 changed=0 unreachable=1 failed=0
这是我的项目结构:
$ tree
.
├── ansible.cfg
├── hosts
├── roles
│ └── users
│ ├── files
│ ├── handlers
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ │ └── fig.conf.j2
│ └── vars
│ └── main.yml
├── site.yml
└── Vagrantfile
这是我的 site.yml 代码:
---
- hosts: users
remote_user: root
sudo: True
tasks:
- name: templates
template: src="fig.conf.j2" dest="/home/vagrant/fig.conf"
那么,为什么 Ansible 不查看模板目录,而只查看根目录。
【问题讨论】:
-
你为什么不从 users/tasks/main.yml 调用
template?fig.conf显然是users角色的一部分。
标签: ansible