Como evito mostrar tarefas Ansible ignoradas?

12

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

Veja um exemplo de uma cartilha

- 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 todo esse resultado é inútil para mim. O display_skipped_hosts diz que ainda faz com que o cabeçalho da tarefa apareça. Existe alguma maneira de omitir completamente as tarefas ignoradas?

    
por asdoylejr 05.02.2015 / 20:50

2 respostas

13

Eu uso outra maneira sem alterar nenhum código:

Ansible use o plug-in de callback 'default' para exibir a saída, mas você pode usar o plug-in de callback 'skippy' em vez de 'default'. 'skippy' usa 'default', exceto para tarefas ignoradas.

Para usar o plugin 'skipped', adicione a seguinte linha (ou descomente-a) no seu arquivo ansible.cfg:

stdout_callback = skippy

Para localizá-lo ansible.cfg, use o comando:

ansible --version

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

    
por 05.10.2016 / 08:37
2

Se a documentação disser que o cabeçalho ainda aparece, você não poderá evitá-lo, a menos que você altere o comportamento ansible editando o código. Se você ainda insistir em editá-lo, então você pode tentar encontrar o arquivo lib/ansible/callbacks.py e adicionar esta linha de string

msg = ''

antes da esta linha

display(msg, color='cyan', runner=self.runner)
    
por 06.02.2015 / 03:33

Tags