Saya memiliki permainan Ansible untuk PGBouncer yang menampilkan beberapa output dari modul statistik yang dibangun ke dalam PGBouncer.
Masalah saya adalah bahwa ketika Ansible mencetak output ke terminal, itu akan merusak baris baru. Alih-alih melihat
----------
| OUTPUT |
----------
saya melihat
----------\n| OUTPUT |\n----------
Adakah yang tahu bagaimana cara mendapatkan "print cantik" output?
sed -e 's/\\n/'$'\\\n/g'
. Juga relevan: comicjk.com/20\n
muncul dalam hasil, sehingga Anda dapat menggunakan regexp ini dalam pesan debug Anda:msg: "{{ result.stdout | regex_replace('\\n', '\n') }}"
Jika Anda ingin lebih banyak mendefinisikan ramah manusia:
Ini akan memungkinkan menggunakan modul keluaran debug (sebelumnya dinamai
human_log
) meskipun meskipun nama yang disayangkan kurang bertele-tele dan lebih mudah dibaca oleh manusia.Jika Anda mendapatkan kesalahan bahwa modul ini tidak tersedia, perbarui Ansible atau tambahkan modul ini secara lokal jika Anda tidak dapat memutakhirkan ansible, itu akan berfungsi dengan versi yang lebih mungkin seperti 2.0 atau mungkin bahkan 1.9.
Opsi lain untuk mengonfigurasi ini adalah menambahkan
stdout_callback = debug
ke ansible.cfg Andasumber
ANSIBLE_STDOUT_CALLBACK=yaml
. Saya lebih suka itu karena format bagusfail
msg
ketika saya memberikan objek.Anda dapat menggunakan plugin callback . Ini akan mem-parsing output Anda dan mudah dihidupkan dan dimatikan.
sumber
CallbackBase
diimpor denganfrom ansible.plugins.callback import CallbackBase
agar kelas panggilan balik berfungsi.Ditemukan ini cara di forum kelompok Ansible Proyek:
Kami pada dasarnya mengubah ini menjadi daftar dengan membaginya dengan baris baru dan kemudian mencetak daftar itu.
sumber
ignore_errors: yes
ke perintah asli dan kemudian sesuatu seperti `- menegaskan: bahwa:" test.rc == 0 ".Anda dapat menggunakan modul jeda :
Bergerak tanpa input dengan menetapkan menit atau detik tetapi input pengguna tidak ditangkap.
Kredit: https://github.com/ansible/ansible/issues/17446#issuecomment-245391682
sumber
Jika Anda ingin melihatnya dalam format yang secara praktis meniru output standar, Anda dapat menggunakan
debug
plugin callback dengandebug
modul di Ansible 2.7+ seperti ini:sumber