Affichage en temps réel des exécutions d'Ansible dans Rundeck

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Logiciel Mots clés : ansible, rundeck
Dans Rundeck, quand Ansible est exécuté via un script depuis un job, l'affichage ne se déroule pas comme lors d'une exécution en ligne de commande (CLI) : le résultat des tâches n'apparait que lorsqu'elles sont finies dans Rundeck au lieu d'un affichage temps réel comme en CLI.
Ce décalage peut être handicapant lors de tâche œuvrant sur des boucles contenant de nombreux objets:
  • en CLI, chaque itération sera affichée, ce qui permet d'en suivre le déroulé
  • via Rundeck, toutes les itérations seront affichées d'un bloc quand la dernière aura eu lieu.
Ce problème est lié au Python output buffering, un processus de stockage des données d'affichage dans un cache. Une fois que ce cache est plein, l'affichage sera mis à jour avec ses données.

Pour le désactiver, il suffit d'appeler ansible ou ansible-playbook avec python3 -u (-u désactivant le cache de données d'affichage (unbuffered)) :
  • python3 -u /usr/bin/ansible
  • python3 -u /usr/bin/ansible-playbook
par exemple.

Les commentaires sont fermés.