У меня есть простой анзибль задача, которая создает файл:анзибль разрешения вопроса
- name: create fake file
file:
name: /opt/refdata/PROD02/roman.delete
state: touch
Я генерируемый общественных/частные ключи и добавил общественность один к authorized_keys2 для пользователя я бег, как на целевом хосте.
Когда я пытаюсь запустить его, я получаю следующее сообщение об ошибке:
failed: [experiment01] => {"failed": true, "parsed": false}
Traceback (most recent call last):
File "/home/acplus_uat01/.ansible/tmp/ansible-tmp-1441921944.69-3869708445827/file", line 1999, in <module>
main()
File "/home/acplus_uat01/.ansible/tmp/ansible-tmp-1441921944.69-3869708445827/file", line 372, in main
open(path, 'w').close()
IOError: [Errno 2] No such file or directory: '/opt/refdata/PROD02/roman.delete'
Таким образом, чтобы увидеть, если у меня есть проблемы с SSH или питона я попытался это - я создал файл питона с одной строкой:
open('/opt/refdata/PROD02/roman.delete', 'w').close()
и побежал это с того же места и того же пользователя, как я бегу анзибль:
cat test2.py | ssh -i ~/.ssh/myPrivateKey -q [email protected] python -
и он создал файл.
Итак, мой вопрос: где проблема, почему он не может создать файл?
путь я бегу пьес это:
ansible-playbook -i inventory/prod/ acc.yml -v --vault-password-file=~/.ansible-vault-pw --private-key ~/.ssh/myPrivateKey
Я также пытался создать файл в/TMP/и анзибль работал.
Редактировать: Итак, еще одно обновление - я создал каталог, в котором я пишу файл в мир, доступный для записи (777), и создал файл. Итак, вопрос - чем отличается в анзибль, что
cat test2.py | ssh -i ~/.ssh/myPrivateKey -q [email protected] python -
работ и делает по существу то же самое через анзибль не делает.
Поскольку анзибль Playbook может записывать файлы в/TMP, но не здесь, я бы добавить шаг к игре в 'отладки: переменная = ansible_ssh_user' и проверить, соответствует пользователю, что ваш питон скрипт бытии в ведении , – nikobelia
Я просто коснусь/tmp/foo из Ansible, а затем просмотрю права и права собственности/tmp/foo, чтобы убедиться, что файл создается Ansible с ожидаемыми вами атрибутами. –
Создано с атрибутами, которые я ожидаю - правильный пользователь/группа –