0

Ansible : éviter l’erreur Timer expired

Par défaut, Ansible est configuré avec délai maximum de 10 secondes concernant les collectes liés au matériel d’un serveur.

Dans un cas précis concernant un serveur sur un site distant, j’obtenais l’erreur suivante lors de l’exécution d’un playbook :

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TimeoutError: Timer expired
fatal: [pve-b-01]: FAILED! => {« changed »: false, « cmd »: « /bin/lsblk –list –noheadings –paths –output NAME,UUID –exclude 2 », « failed »: true, « msg »: « Timer expired », « rc »: 257}

Cette erreur indique que le retour de la commande /bin/lsblk --list --noheadings --paths --output NAME,UUID --exclude 2 met plus de 10 secondes a s’exécuter.

L’option permettant d’augmenter la valeur du délai maximum se nomme : gather_timeout et cette option se trouve dans le fichier de configuration général d’Ansible /etc/ansible/ansible.cfg

Augmenter la valeur gather_timeout

  • Éditer le fichier de configuration d’Ansible :
  • nano /etc/ansible/ansible.conf
  • Dé-commenter la ligne gather_timeout = 10 et changer la valeur de 10 par une plus grande, exemple 30 :
  • gather_timeout = 30

La prise en compte de la modification de la valeur est directement faite lors de l’exécution du playbook. Dans mon cas, cela a suffit pour régler le problème du Timer expired.

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *