运行 ansible 时出现一个非常奇怪的错误:
收集事实 ************************************************ *************** 致命:[i-0f55b6a4] => 无法创建目录 /$HOME/.ansible/cp:[Errno 13] 权限被拒绝:'/$HOME' 任务:[任务#1] ******************************************* ******************** 致命:没有匹配的主机或所有主机都已失败 - 正在中止 播放回顾 ************************************************ ******************** 要重试,请使用:--limit @/home/ubuntu/install.retry i-0f55b6a4 : 正常=0 更改=0 无法访问=1 失败=0
通常,这个剧本运行没有问题,但我最近做了一些更改,以便调用调用 ansible 的程序,start-stop-daemon
以便我将作为服务运行。最终目标是拥有一个可以在认为必要时自动运行 playbook 的服务。
剧本的开头是这样的:
---
- hosts: w_vm:main
sudo: True
tasks:
- name: Task #1
...
sudo 设置为 True 所以我有点确定错误不在目标机器上。
生成的 ansible-playbook 调用如下所示:
ansible-playbook -i /tmp/ansible3397486563152037600.inventory \
/home/ubuntu/playbooks/main_playbook.yml \
-e @/home/ubuntu/extra_params.json
我不确定该Could not make dir /$HOME/.ansible/cp
错误是在服务器上还是在远程机器上发生,或者为什么 ansible 试图创建一个名为$HOME
in的目录/
。这只发生在从 linux 服务调用调用 ansible 的程序时,而不是从命令行显式调用它时。
我在这里问了一个更具体的问题: https ://unix.stackexchange.com/questions/220841/start-stop-daemon-services-environment-variables-and-ansible