Ansible : comment actualiser l'inventaire de l'hôte lors de l'exécution et ajouter une pause lors de l'exécution de Playbook ?

Publié: 2022-02-14

Comment actualiser l'inventaire de l'hôte lors de l'exécution et ajouter une pause lors de l'exécution de Playbook

Sur Crunchify, nous avons publié un certain nombre de tutoriels sur Ansible et celui-ci va se concentrer sur How to Refresh Host Inventory lors de l'exécution et Add a Pause lors de l'exécution des tâches.

Considérons ce scénario simple de création de VM Amazon EC2 :

  • Vous exécutez le script Amazon EC2 Ansible qui génère une machine virtuelle et vous capturez dynamiquement les adresses IP publiques dans le script.
  • Pendant l'exécution - vous ajoutez l'adresse IP publique de cette machine virtuelle au fichier hosts sous le groupe [crunchify] .
  • Dans la tâche suivante, utilisez l'adresse IP publique nouvellement ajoutée qui a été ajoutée au fichier hosts et installez Java dessus.
  • Si vous n'utilisez pas refresh_inventory , il ne récupérera pas l'adresse IP nouvellement ajoutée et vous verrez l'échec comme ci-dessous.

De plus, avez-vous l'une des questions ci-dessous ?

  • Comment recharger l' dynamic inventory d'Ansible
  • Étapes d'actualisation de l'inventaire dynamique Ansible
  • Puis-je mettre à jour l'inventaire des hôtes et utiliser de nouveaux hôtes dans le same playbook ?
  • Ansible Dynamic Inventory ne parvient pas à obtenir les dernières informations EC2 - pourquoi ?

Commençons:

Étape 1

Suivez complètement le didacticiel sur la spawn Amazon EC2 VM instance remotely using Ansible ?

Comment créer, démarrer et configurer une instance Amazon EC2 à l'aide d'un simple script Ansible ? (lancer la machine virtuelle à distance)

Étape 2

Recherchez une tâche ci-dessous dans le fichier crunchify-ec2.yml .

Comme vous le voyez ici, après avoir créé Amazon EC2 VM , nous capturons l'adresse IP publique de la machine virtuelle et la stockons dans le fichier hosts

Si vous avez des tâches supplémentaires dans le même .yml file adresses IP ne seront pas chargées automatiquement. Ajoutez simplement la ligne ci-dessous à votre Ansible Playbook et il actualisera automatiquement toute votre liste d'inventaire.

De la même manière si vous souhaitez ajouter une attente, ajoutez simplement la ligne ci-dessous :

La balise ci-dessus introduira une minute d'attente dans votre playbook Ansible.

Playbook Ansible mis à jour pour Amazon EC2 avec Wait et Meta Refresh

Playbook Ansible mis à jour pour Amazon EC2 avec Wait et Meta Refresh - Crunchify Tips

Voici mon exemple de test Ansible Playbook :

Nom du fichier : crunchify-refresh-hostfile-pause-1min.yml

Sortir:

Exécutez simplement votre Ansible Playbook à nouveau et vous verrez un résultat réussi comme ci-dessous.

C'est ça. Toutes nos félicitations. Vous avez exécuté Ansible Playbook avec succès.

Si vous recherchez tous les didacticiels Ansible, veuillez suivre la page Ansible Archive.