Bagaimana cara melihat stdout untuk perintah playbook yang mungkin? -v hanya menampilkan keluaran yang dimungkinkan, bukan perintah individual. Akan lebih bagus jika saya bisa mengetahui bagaimana melakukan ini dengan segera, jadi jika sesuatu gagal atau hang saya bisa melihat mengapa.
misalnya
- name: print to stdout
action: command echo "hello"
akan dicetak
TASK: [print variable] ********************************************************
hello
Jawaban:
Saya pikir Anda dapat mendaftarkan hasilnya ke variabel, lalu mencetak dengan debug.
sumber
- debug: var=hello
. Kadang-kadang ini lebih bermanfaat untuk output multiline atau output modul Ansible (daripadacommand
/shell
output).shell: java -version 2>&1
register
modul, atau apa pun itu tidak menghasilkan objek yang memiliki set variabelstdout
ataustderr
.... jadi sangat buruk bahwa kita tidak hanya mendapatkan output secara default: |Alih-alih stdout saya sarankan menggunakan stdout_lines . Untuk output multiline ini jauh lebih baik, misalnya
memberi
Mengenai keluaran waktu nyata untuk keperluan debugging ada laporan bug tertutup https://github.com/ansible/ansible/issues/3887#issuecomment-54672569 membahas alasan mengapa ini tidak mungkin dan tidak akan dilaksanakan.
sumber
Saya menemukan menggunakan minimal
stdout_callback
dengan playbook-ansible memberikan output serupa dengan menggunakan ad-hoc mungkin.Di ansible.cfg Anda (Perhatikan bahwa saya menggunakan OS X, jadi ubah
callback_plugins
jalur yang sesuai dengan pemasangan Anda)Sehingga jadi tugas seperti ini
Memberikan output seperti ini, seperti perintah ad-hoc
Saya menggunakan playbook yang memungkinkan 2.2.1.0
sumber