Как не показывать пропущенные Ansible задачи?


14

Вывод моих игровых книжек всегда полностью завален бесполезным выводом о том, какие задачи были пропущены, что делает его раздражающим и трудоемким, чтобы пройтись и найти конкретную информацию, которую я ищу.

Вот пример пьесы

- 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говорит, что все еще вызывает появление заголовка задачи. Есть ли способ полностью пропустить пропущенные задачи?


Если вы довольны редактированием ANSIBLE кода, вы можете попробовать добавить строку msg = ''перед этой строкой
masegaloeh

Ответы:


13

Я использую другой способ без изменения какого-либо кода:

Можно использовать плагин обратного вызова «по умолчанию» для отображения выходных данных, но вы можете использовать плагин обратного вызова «Skippy» вместо «по умолчанию». «Skippy» использовать «по умолчанию» за исключением пропущенных задач.

Чтобы использовать «пропущенный» плагин, добавьте следующую строку (или раскомментируйте ее) в ваш файл ansible.cfg:

stdout_callback = skippy

Чтобы локализовать ваш ansible.cfg, используйте команду:

ansible --version

Если у вас нет этого файла, получите файл примера из ansible источников и скопируйте его в рабочую папку, откуда вы вызываете ansible.


4

Теперь skippyмодуль устарел.

Создайте ansible.cfgв корне вашего проекта и добавьте следующие инструкции:

[defaults]
display_skipped_hosts = no

Вы также можете редактировать свой глобальный файл конфигурации /etc/ansible/ansible.cfg.


2

Если в документации говорится, что заголовок все еще появляется, то вы не сможете избежать этого, если не измените поведение ansible путем редактирования кода. Если вы все еще настаиваете на его редактировании, тогда вы можете попытаться найти файл lib/ansible/callbacks.pyи добавить эту строку строки

msg = ''

до этой линии

display(msg, color='cyan', runner=self.runner)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.