Como evito exibir tarefas Ansible ignoradas?

14

A saída dos meus playbooks é sempre completamente inundada com a saída inútil em relação a quais tarefas foram ignoradas, o que torna irritante e demorado percorrer e encontrar informações específicas que estou procurando.

Aqui está um exemplo de um manual

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

E a saída associada:

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]

Quase toda essa produção é inútil para mim. O display_skipped_hostsdiz que ainda faz com que o cabeçalho tarefa a aparecer. Existe alguma maneira de omitir completamente as tarefas ignoradas?

asdoylejr
fonte
Se você está feliz com a edição do código ansible, você pode tentar adicionar linha msg = ''antes desta linha
masegaloeh

Respostas:

13

Eu uso outra maneira sem alterar nenhum código:

É possível usar o plug-in de retorno de chamada 'padrão' para exibir a saída, mas você pode usar o plug-in de retorno de chamada 'skippy' em vez de 'padrão'. 'skippy' usa 'default', exceto para tarefas ignoradas.

Para usar o plugin 'ignorado', adicione a seguinte linha (ou remova o comentário) no seu arquivo ansible.cfg:

stdout_callback = skippy

Para localizar você ansible.cfg, use o comando:

ansible --version

Se você não possui esse arquivo, obtenha um exemplo de arquivo de fontes ansible e copie-o na sua pasta de trabalho de onde você chama ansible.

Nelson G.
fonte
4

Agora, o skippymódulo está obsoleto.

Crie ansible.cfgna raiz do seu projeto e adicione as seguintes instruções:

[defaults]
display_skipped_hosts = no

Você também pode editar seu arquivo de configuração global /etc/ansible/ansible.cfg.

Mikael Flora
fonte
2

Se a documentação indicar que o cabeçalho ainda foi exibido, você não poderá evitá-lo, a menos que altere o comportamento ansível editando o código. Se você ainda insistir em editá-lo, poderá tentar encontrar o arquivo lib/ansible/callbacks.pye adicionar esta linha de string

msg = ''

antes desta linha

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