Bagaimana cara saya menghindari menampilkan tugas yang dilewati?

14

Output dari buku pedoman saya selalu benar-benar dibanjiri dengan output yang tidak berguna mengenai tugas-tugas yang telah dilewati, yang membuatnya menjengkelkan dan memakan waktu untuk melewati dan menemukan informasi spesifik yang saya cari.

Berikut ini contoh buku pedoman

- name: Stopping Puppet Agent
  service: name=pe-puppet state=stopped
  ignore_errors: true
  register: result
- include: rollback/restart-pe-puppet.yml
  when: result|failed

Dan output yang terkait:

TASK: [name | Stopping Puppet Agent] **************************************
<server.name> REMOTE_MODULE service name=pe-puppet state=stopped
changed: [server.name] => {"changed": true, "name": "pe-puppet",     "state":"stopped"}

TASK: [name | judge_log msg='Restarting pe-puppet'] ***********************
skipping: [server.name]

TASK: [name | starting pe-puppet] *****************************************
skipping: [server.name]

TASK: [name | judge_log msg='pe-puppet restart successful'] ***************
skipping: [sserver.name]

TASK: [name | judge_log msg='pe-puppet restart failed' sec=FATAL] *********
skipping: [server.name]

TASK: [name | fail msg="Failed to start pe-puppet."] **********************
skipping: [server.name]

TASK: [name | judge_log msg='{{APP_NAME | capitalize}} deployment failed.'] ***
skipping: [server.name]

TASK: [name | fail msg="The {{APP_NAME | capitalize}} deployment failed."] ***
skipping: [server.name]

Hampir semua hasil itu tidak berguna bagi saya. The display_skipped_hostsmengatakan masih menyebabkan header tugas untuk tampil. Apakah ada cara untuk menghilangkan tugas yang dilewati sepenuhnya?

asdoylejr
sumber
Jika Anda senang mengedit kode yang mungkin, Anda dapat mencoba menambahkan baris msg = ''sebelum baris ini
masegaloeh

Jawaban:

13

Saya menggunakan cara lain tanpa mengubah kode apa pun:

Bisa menggunakan plugin callback 'default' untuk menampilkan output, tetapi Anda dapat menggunakan plugin callback 'skippy' alih-alih 'default'. 'skippy' gunakan 'default' kecuali untuk tugas yang dilewati.

Untuk menggunakan plugin 'dilewati', tambahkan baris berikut (atau batalkan komentarnya) di file ansible.cfg Anda:

stdout_callback = skippy

Untuk melokalisasi Anda ansible.cfg, gunakan perintah:

ansible --version

Jika Anda tidak memiliki file ini, dapatkan file contoh dari sumber yang mungkin dan salin di folder kerja Anda dari tempat Anda menelepon.

Nelson G.
sumber
4

Sekarang, skippymodul sudah usang.

Buat ansible.cfgdi root proyek Anda, dan tambahkan instruksi berikut:

[defaults]
display_skipped_hosts = no

Anda juga dapat mengedit file konfigurasi global Anda /etc/ansible/ansible.cfg.

Flora Mikael
sumber
2

Jika dokumentasi mengatakan bahwa tajuk itu masih muncul, maka Anda tidak dapat menghindarinya kecuali jika Anda mengubah perilaku yang mungkin dilakukan dengan mengedit kode. Jika Anda masih bersikeras untuk mengeditnya, maka Anda dapat mencoba menemukan file lib/ansible/callbacks.pydan menambahkan baris string ini

msg = ''

sebelum baris ini

display(msg, color='cyan', runner=self.runner)
masegaloeh
sumber