Mam proste zadanie ansibl który tworzy plik:ansibl pozwolenie problem
- name: create fake file
file:
name: /opt/refdata/PROD02/roman.delete
state: touch
I wygenerowane klucze publiczne/prywatne i podwyższyć publiczną authorized_keys2 dla użytkownika używam jak na komputerze docelowym.
Kiedy próbuję go pojawia się następujący błąd run:
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'
Tak więc, aby zobaczyć, czy mam problemy z ssh lub pytona to próbowałem - Stworzyłem plik Pythona z jednej linii:
open('/opt/refdata/PROD02/roman.delete', 'w').close()
i pobiegł to w tym samym miejscu i tego samego użytkownika, jak biegnę ansibl:
cat test2.py | ssh -i ~/.ssh/myPrivateKey -q t[email protected] python -
i stworzył plik.
Moje pytanie brzmi - gdzie jest problem, dlaczego nie może utworzyć pliku?
sposób uruchomić Playbook to:
ansible-playbook -i inventory/prod/ acc.yml -v --vault-password-file=~/.ansible-vault-pw --private-key ~/.ssh/myPrivateKey
Próbowałem też utworzyć plik w/tmp/a ansibla pracował.
Edit: Tak, kolejna zmiana - Zrobiłem katalog piszę plik na zapisywalny (777) i jest tworzony plik. Tak więc pytanie brzmi: co różni się w Ansible, że działa i robi zasadniczo to samo poprzez Ansible, nie różni się w Ansay.
Ponieważ ansibl PlayBook mogą zapisywać pliki w/tmp, ale nie tutaj, bym dodać krok do gry na 'debug: var = ansible_ssh_user' i sprawdzić, czy pasuje do użytkownika, że skrypt Pythona prowadzony przez . – nikobelia
Po prostu dotknę/tmp/foo z poziomu Ansible, a potem przejrzę na uprawnienia i prawa własności/tmp/foo, aby sprawdzić, czy plik jest tworzony przez Ansible z oczekiwanymi atrybutami. –
Jest tworzony z atrybutami, których się spodziewam - właściwy użytkownik/grupa –