Tôi đang sử dụng Ansible và tôi có một số vấn đề với đường dẫn mẫu. Đây là kết quả báo lỗi khi tôi thực hiện:Tại sao Ansible không đọc các mẫu trong đường dẫn tương đối?
$ 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
Đó là cấu trúc dự án của tôi:
$ tree
.
├── ansible.cfg
├── hosts
├── roles
│ └── users
│ ├── files
│ ├── handlers
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ │ └── fig.conf.j2
│ └── vars
│ └── main.yml
├── site.yml
└── Vagrantfile
Nó là mã site.yml tôi:
---
- hosts: users
remote_user: root
sudo: True
tasks:
- name: templates
template: src="fig.conf.j2" dest="/home/vagrant/fig.conf"
Sau đó, tại sao Ansible doesn' t nhìn vào thư mục mẫu và nó chỉ trông trong thư mục gốc.
tại sao bạn không gọi 'mẫu' từ người dùng/tác vụ/main.yml? 'Fig.conf' rõ ràng là một phần của vai trò' người dùng'. – tedder42