Je suis en train d'exécuter un jeu de jeu pour le déploiement de nœuds.Suppose en raison d'un problème comme une panne de courant ou une autre exception, l'exécution a échoué après avoir exécuté certaines tâches. J'essaie de reprendre l'exécution du même endroit où elle a échoué, Quand j'exécute le jeu de jeu la prochaine fois. P>
Il suffit de gérer le jeu de jeu pour toute la tâche du début. C'est possible d'atteindre la solution? P>
3 Réponses :
Vous pouvez utiliser la fonction --Start-at-task = "Nom de la tâche" Ceci exécutera tout le jeu de jeu de la tâche spécifique et continuera à partir de là om. Mais soyez prudent, si vous avez enregistré des variables dans des tâches avant et utilisez-les ensuite, à partir de cette tâche ne les enregistrera pas et que la pièce ne les utilisera pas. Dans ce cas, vous pouvez donner une étiquette "toujours" aux tâches qui enregistrent des variables p>
La sortie d'un jeu de playbook ansile-playbook raté vous indique comment procéder à cela (en supposant que vous avez «réessay_files_enabled» définissez true dans votre config, qui correspond à la valeur par défaut): p>
Pour réessayer, utilisez: --Limit @ / Mone / Chemin / à / A / Réessayer / Fichier P> blockQuote>
Dans le cas d'une défaillance, Ansible créera un fichier de réessayer, qui correspond à des fins spécifiques de ce que vous avez demandé. Par conséquent, il suffit d'ajouter la déclaration '-Limit' à la commande que vous avez utilisée pour exécuter le jeu de jeu et le rappelez-le à nouveau. P>
Edit: Pour être juste, votre cas spécifique d'une défaillance de puissance sur la machine de contrôle ne serait pas couvert par cela, mais toute défaillance que des poignées ansibles (c'est-à-dire la majorité) fonctionnent avec cette méthode. P>
Exécuter comme ceci: avec limite: ansible-playbook --Forks = 10 myscript.yml --limit limite1 --Start-at-tasser = 'Installez Java ' code> p> p>