ฉันจะหลีกเลี่ยงการแสดงภารกิจ Ansible ที่ข้ามได้อย่างไร


14

ผลลัพธ์ของ playbooks ของฉันเต็มไปด้วยสิ่งที่ไร้ประโยชน์เกี่ยวกับงานที่ถูกข้ามไปซึ่งทำให้รำคาญและเสียเวลาในการค้นหาและหาข้อมูลเฉพาะที่ฉันกำลังมองหา

นี่คือตัวอย่างของ playbook

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

และผลลัพธ์ที่เกี่ยวข้อง:

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]

ผลเกือบทั้งหมดนั้นไร้ประโยชน์กับฉัน การแจ้งdisplay_skipped_hostsว่ายังทำให้ส่วนหัวของงานปรากฏขึ้น มีวิธีการข้ามการข้ามงานอย่างสมบูรณ์หรือไม่?


หากคุณมีความสุขกับการแก้ไขรหัสmsg = ''
ansible

คำตอบ:


13

ฉันใช้วิธีอื่นโดยไม่เปลี่ยนรหัสใด ๆ :

ปลั๊กอินเรียกกลับ 'เริ่มต้น' ที่ใช้งานไม่ได้เพื่อแสดงผลลัพธ์ แต่คุณสามารถใช้ปลั๊กอินเรียกกลับ 'ข้าม' แทน 'เริ่มต้น' 'skippy' ใช้ 'default' ยกเว้นงานที่ข้ามไป

ในการใช้ปลั๊กอิน 'ข้าม' ให้เพิ่มบรรทัดต่อไปนี้ (หรือยกเลิกการคอมเม้นต์) ในไฟล์ ansible.cfg ของคุณ:

stdout_callback = skippy

หากต้องการ จำกัด วง ansible.cfg ให้ใช้คำสั่ง:

ansible --version

หากคุณไม่มีไฟล์นี้ให้รับไฟล์ตัวอย่างจากแหล่งที่มาของข้อมูลและคัดลอกในโฟลเดอร์ที่ทำงานของคุณจากที่ที่คุณเรียกว่า ansible


4

ตอนนี้skippyโมดูลเลิกใช้แล้ว

สร้างansible.cfgที่รากของโครงการของคุณและเพิ่มคำแนะนำต่อไปนี้:

[defaults]
display_skipped_hosts = no

/etc/ansible/ansible.cfgนอกจากนี้คุณยังสามารถแก้ไขไฟล์การกำหนดค่าของคุณทั่วโลก


2

หากเอกสารระบุว่าส่วนหัวยังคงปรากฏอยู่คุณจะไม่สามารถหลีกเลี่ยงได้เว้นแต่ว่าคุณจะเปลี่ยนพฤติกรรมที่สามารถแก้ไขได้โดยแก้ไขรหัส หากคุณยังคงยืนยันที่จะแก้ไขคุณสามารถลองค้นหาไฟล์lib/ansible/callbacks.pyและเพิ่มสายของสตริงนี้

msg = ''

ก่อนบรรทัดนี้

display(msg, color='cyan', runner=self.runner)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.