Comment faire en sorte que la marionnette s'arrête à la première erreur d'un manifeste?
11
Comment configurez-vous la marionnette pour qu'elle s'arrête juste au premier échec au lieu de continuer et de simplement cracher des erreurs pour le reste des étapes qui dépendent du premier échec?
Qu'est-ce que vous essayez de réaliser exactement? Puppet est conçu comme un outil idemopotent, holistique et d'application de l'État.
msanford
Si le reste est les étapes sont configurées correctement en tant que personnes à charge (nécessitent), je ne pensais pas qu'il continuerait à s'exécuter, n'a jamais avec moi. Il fera bien sûr tout ce qui ne dépendra pas de ces ressources. Note à moi-même: regarde la date de la question .. ugh.
AndyC
2
Je ne peux pas parler pour l'OP, mais j'essaie de mettre en place un banc d'essai Vagrant pour une configuration de marionnettes existante dont j'ai hérité. La première erreur apparaît après quelques secondes, mais elle continue à cracher des erreurs pendant des minutes après. (Un grand nombre de packages sont installés.) J'aimerais que cela s'arrête après la première erreur afin que je puisse raccourcir ma boucle de recherche-changement-test.
Stig Brautaset
1
Ajoutez ceci à l'énorme liste de choses que la marionnette ne fait pas correctement. Hashtag BuiltForAdminsByNonAdmins
Ce n'est pas possible avec une marionnette. Le maître des marionnettes construira le graphique avec ce qui doit être fait. Puppet commencera à exécuter les nœuds des graphes. Si un nœud échoue, tous les nœuds dépendants échoueront également. Tout le reste est exécuté.
Les étapes sont les mêmes: si quelque chose se passe mal dans une étape, toutes les étapes dépendantes échoueront automatiquement.
En supposant que cette réponse est exacte, je ne vois pas pourquoi quelqu'un voterait contre cela ...
mmey
4
Quel comportement déroutant! J'essaie de mettre en place un banc d'essai vagabond pour notre approvisionnement en marionnettes, qui prend un certain temps à fonctionner. (Minutes, car il tire de gros paquets, etc.) J'adorerais qu'il ait un drapeau où je peux lui demander de s'arrêter à la première erreur (qui se produit en quelques secondes) afin que je puisse enquêter une à la fois, plutôt que d'en cracher des centaines d'erreurs et de prendre quelques minutes à courir.
Réponses:
Ce n'est pas possible avec une marionnette. Le maître des marionnettes construira le graphique avec ce qui doit être fait. Puppet commencera à exécuter les nœuds des graphes. Si un nœud échoue, tous les nœuds dépendants échoueront également. Tout le reste est exécuté.
Les étapes sont les mêmes: si quelque chose se passe mal dans une étape, toutes les étapes dépendantes échoueront automatiquement.
la source
Voir la fonction de marionnette "échouer" ( http://docs.puppetlabs.com/references/latest/function.html#fail )
la source