Retries anibles

Retries anibles

Dans cet article, nous allons en apprendre davantage sur l'une des tâches importantes d'Anable qui est la tâche «réessayer» que nous énumérerons dans le livre de jeu pour effectuer des commandes. Nous apprendrons comment fonctionne la tâche de réessayer dans ANIBLE.

La réessayer est une tâche ansible utilisée pour tenter d'exécuter tous les manuels problématiques à plusieurs reprises. Le terminal de sortie ANSIBLE affichera les erreurs de cette défaillance. Pour cette raison, il est parfois difficile de saisir ces problèmes lorsque nous essayons de les réparer en utilisant ANSIBLE. Cependant, ANIBLE propose une option de «réessayer» qui nous permet d'effectuer la commande plus d'une fois.

Prenez le scénario lorsque nous avons une tâche dans notre playbook à partir de «tous» hôtes, certains hôtes sont ciblés en raison de certaines conditions de tâche leur exécution réussie lors de la première tentative une fois le playbook exécuté. Cependant, parfois les hôtes restants réussiront sur la deuxième tentative de tâche. Maintenant, il existe différentes méthodes où nous pouvons essayer de résoudre ce problème, mais aussi parfois nous pourrions ne pas avoir le temps ou le contrôle du système pour y parvenir.

Réessayer la tâche dans cette situation pourrait être le plan d'action le plus simple et le plus efficace. Le playbook sera ensuite réexécuté dans un état d'échec de l'exécution, et par défaut, il continuera de tenter jusqu'à ce qu'il génère le résultat souhaité ou cesse des erreurs de signalement. Nous ne pouvons pas prétendre que l'option de réessayer ANSIBLE est un substitut à la boucle standard qui exécute le travail à plusieurs reprises jusqu'à ce que la condition soit remplie. Ainsi, nous ne sommes pas en mesure d'utiliser RETRY ANSIBLE pour les tâches pour lesquelles nous n'avons aucun moyen de prédire ou d'estimer combien de temps ils prendraient. Par conséquent, cela ne peut pas remplacer la boucle standard. Cependant, il évite le problème sévère d'une boucle infinie en synchronisant les travaux après un nombre prédéterminé d'essais.

Prérequis des tâches de réessayer dans ANSIBLE

Des exemples pratiques d'Anable sont fournis dans cette session. Nous supposons que vous avez toujours eu les conditions préalables suivantes si vous avez l'intention de suivre lorsque vous utilisez l'option RETRY ANSIBLE:

  • Avant de pouvoir utiliser l'outil ANSIBLE et implémenter l'option RETRY, nous avons besoin d'applications liées à ANNIBL. Ce tutoriel utilise ANSIBLE 2.12 ou une version ultérieure.
  • Pour cette raison, nous avons besoin d'un contrôleur anible pour exécuter les commandes sur les hôtes distants et les hôtes distants sur lesquels nous aimerions nous concentrer pour les implémentations.

Laissez-nous simplement par l'idée de réessayer l'idée d'option en profondeur et examinons comment ANIBLE le met en vigueur en utilisant un exemple.

Exemple: réessayer les tâches 5 fois dans des manuels ANSIBL

Avant de mettre en œuvre l'exemple, une compréhension approfondie de une variété de tâches contenues dans l'outil de configuration Ansible est une exigence pour tout maître anable aspirant ou fournisseur qualifié, comme un contrôleur anible pour apporter des modifications au périphérique hôte distant. Prenons le scénario où nous essayons d'implémenter l'option de réessayer. Voici l'exemple dans Ansible que nous allons implémenter pour exécuter les tâches du playbook plusieurs fois.

Pour commencer à implémenter les commandes, nous devrons d'abord faire le livre de jeu en utilisant l'outil ANSIBLE. Vous trouverez ci-dessous la déclaration que nous exécuterons pour créer le playbook dans ANIBLE.

[root @ maître anible] # Nano Retries.YML

Après avoir écrit la commande ci-dessus, les tentatives.YML Playbook sera créé et ouvert sur un nouveau terminal anible. Dans le playbook, nous définissons toujours d'abord la mise en œuvre que nous allons implémenter dans le paramètre «Nom». Ensuite, nous utiliserons le paramètre «hôtes» afin que nous puissions fournir l'adresse IP ou les informations connexes de l'hôte distant à travers lequel nous allons nous connecter. Nous utiliserons «localhost» comme serveur distant cible dans cet exemple.

En utilisant le composant «Gathering Facts» ANSIBLE, nous collecterons des informations sur l'hôte local ciblé. Ces données sont généralement décrites comme des «faits» ou des «paramètres» dans le logiciel Ansible. En utilisant la commande particulière «Configuration» dans le logiciel ANSIBLE, nous pouvons recueillir les informations de LocalHost. Cependant, ANSIBLE Playbooks appelle généralement ce paramètre de configuration par défaut pour accomplir le paramètre de réception des faits. Nous fournirons soit la valeur «vraie» ou «false» pour collecter les données de l'hôte local. Comme indiqué ci-dessous dans le playbook, nous ne voulons pas obtenir les informations cibles locales, nous avons donc fourni une «fausse» valeur au paramètre Gather_fact.

Après avoir déclaré les paramètres qui seront nécessaires pour que le PlayBook configure le périphérique hôte local, nous énumérons les tâches du Playbook que nous voulons implémenter sur la machine hôte locale. Dans la liste des tâches, nous fournirons d'abord le nom de la tâche que nous allons faire, c'est-à-dire que la validité du fichier est présente ou non dans la machine LocalHost. Nous utilisons le paramètre Shell Ansible qui exécute les commandes de shell sur l'appareil localhost.

Dans ANIBLE, le paramètre Shell a un chemin par défaut dans lequel les commandes / bin / sh exécutent, mais dans cet exemple, nous avons donné le «ls -lst / tmp / myprocess.PATH PID ”où le contrôleur ANSIBLE a apporté les modifications dans l'appareil localhost. Ensuite, pour surveiller et enregistrer la sortie dans ce paramètre anible, nous avons utilisé le paramètre «enregistrer».

Ensuite, nous avons utilisé le paramètre «Jusqu'à» qui est utilisé pour réessayer les tâches PlayBook 5 fois pendant 2 secondes. Pour définir l'intervalle, nous avons utilisé le paramètre par défaut d'Anble qui est «retard» et le nombre de fois que les tâches du livre de jeu seront dans le paramètre «Retries» d'ANSIBLE.

Maintenant, nous allons mettre fin aux tentatives.YML Playbook en frappant Ctrl + X. Maintenant, nous voulons exécuter le livre de jeu. Nous utiliserons donc la commande ci-dessous:

[root @ Master ANSIBLE] # ANSIBLE-PLAYBOOK RETRIES.YML

Nous obtiendrons le résultat ci-dessous après avoir exécuté la commande ci-dessus. Comme le montre la sortie, le playbook est exécuté 5 fois avec succès avec un temps d'exécution de 2 secondes.

Conclusion

Cet article a couvert comment les fonctions du paramètre RETRY du Playbook Ansible. Nous avons complètement maîtrisé la théorie des paramètres de réessayer. Ensuite, pour mieux comprendre le concept de réessayer, nous avons mis un exemple en pratique.