Làm cách nào để tránh hiển thị các tác vụ Ansible bị bỏ qua?


14

Đầu ra của các playbook của tôi luôn bị ngập hoàn toàn với đầu ra vô dụng liên quan đến những nhiệm vụ nào đã bị bỏ qua, điều này gây khó chịu và mất thời gian để tìm kiếm thông tin cụ thể mà tôi đang tìm kiếm.

Đây là một ví dụ về một cuốn sách

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

Và đầu ra liên quan:

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]

Hầu như tất cả đầu ra đó là vô dụng đối với tôi. Việc display_skipped_hostsnói nó vẫn khiến tiêu đề nhiệm vụ xuất hiện. Có cách nào để bỏ qua các nhiệm vụ bị bỏ qua hoàn toàn?


Nếu bạn hài lòng với việc chỉnh sửa mã ansible, bạn có thể thử thêm dòng msg = ''trước dòng này
masegaloeh

Câu trả lời:


13

Tôi sử dụng một cách khác mà không thay đổi bất kỳ mã nào:

Ansible sử dụng plugin gọi lại 'mặc định' để hiển thị đầu ra, nhưng bạn có thể sử dụng plugin gọi lại 'skippy' thay vì 'mặc định'. 'skippy' sử dụng 'mặc định' ngoại trừ các tác vụ bị bỏ qua.

Để sử dụng plugin 'bỏ qua', hãy thêm dòng sau (hoặc bỏ ghi chú) vào tệp ansible.cfg của bạn:

stdout_callback = skippy

Để bản địa hóa bạn ansible.cfg, sử dụng lệnh:

ansible --version

Nếu bạn không có tệp này, hãy lấy tệp ví dụ từ các nguồn có thể đọc được và sao chép nó trong thư mục làm việc của bạn từ nơi bạn gọi là ansible.


4

Bây giờ, skippymô-đun không được chấp nhận.

Tạo ansible.cfgtại thư mục gốc của dự án của bạn và thêm các hướng dẫn sau:

[defaults]
display_skipped_hosts = no

Bạn cũng có thể chỉnh sửa tập tin cấu hình toàn cầu của bạn /etc/ansible/ansible.cfg.


2

Nếu tài liệu nói rằng tiêu đề vẫn xuất hiện, thì bạn không thể tránh nó trừ khi bạn thay đổi hành vi có thể tìm thấy bằng cách chỉnh sửa mã. Nếu bạn vẫn khăng khăng chỉnh sửa nó, thì bạn có thể thử tìm tệp lib/ansible/callbacks.pyvà thêm dòng chuỗi này

msg = ''

trước dòng này

display(msg, color='cyan', runner=self.runner)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.