Comment éviter d'afficher des tâches Ansible ignorées?

14

La sortie de mes livres de lecture est toujours complètement inondée de sortie inutile concernant les tâches qui ont été ignorées, ce qui rend ennuyeux et long à parcourir et à trouver les informations spécifiques que je recherche.

Voici un exemple de 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

Et la sortie associée:

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]

Presque toute cette sortie m'est inutile. Le display_skipped_hostsdit qu'il fait toujours apparaître l'en-tête de la tâche. Existe-t-il un moyen d'omettre complètement les tâches ignorées?

asdoylejr
la source
Si vous êtes satisfait de la modification du code ansible, vous pouvez essayer d'ajouter une ligne msg = ''avant cette ligne
masegaloeh

Réponses:

13

J'utilise une autre façon sans changer aucun code:

Vous pouvez utiliser le plug-in de rappel «par défaut» pour afficher la sortie, mais vous pouvez utiliser le plug-in de rappel «skippy» au lieu de «par défaut». 'skippy' utilise 'default' sauf pour les tâches ignorées.

Pour utiliser le plugin «ignoré», ajoutez la ligne suivante (ou décommentez-la) dans votre fichier ansible.cfg:

stdout_callback = skippy

Pour vous localiser ansible.cfg, utilisez la commande:

ansible --version

Si vous n'avez pas ce fichier, obtenez un exemple de fichier à partir de sources ansible et copiez-le dans votre dossier de travail d'où vous appelez ansible.

Nelson G.
la source
4

Maintenant, le skippymodule est obsolète.

Créez ansible.cfgà la racine de votre projet et ajoutez les instructions suivantes:

[defaults]
display_skipped_hosts = no

Vous pouvez également modifier votre fichier de configuration globale /etc/ansible/ansible.cfg.

Mikael Flora
la source
2

Si la documentation indique que l'en-tête était toujours affiché, vous ne pouvez pas l'éviter à moins de modifier le comportement ansible en modifiant le code. Si vous insistez toujours pour le modifier, vous pouvez essayer de trouver le fichier lib/ansible/callbacks.pyet ajouter cette ligne de chaîne

msg = ''

avant cette ligne

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