Я получаю очень странную ошибку при запуске ansible:
GATHERING FACTS *************************************************************** fatal: [i-0f55b6a4] => Could not make dir /$HOME/.ansible/cp: [Errno 13] Permission denied: '/$HOME' TASK: [Task #1] *************************************************************** FATAL: no hosts matched or all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/home/ubuntu/install.retry i-0f55b6a4 : ok=0 changed=0 unreachable=1 failed=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
в /
. Это происходит только тогда, когда программа, вызывающая ansible, вызывается из службы Linux, а не когда она вызывается явно из командной строки.
Я задал здесь более конкретный вопрос: https://unix.stackexchange.com/questions/220841/start-stop-daemon-services-environment-variables-and-ansible