Bien. Vous pouvez spécifier qu'un certain état ne sera appliqué que si un autre état est également appliqué avec succès. Comme ceci:
vim:
pkg.installed: []
/etc/vimrc:
file.managed:
- source: salt://edit/vimrc
- require:
- pkg: vim
Le fichier vimrc ne sera géré que si le paquet vim est installé avec succès. Cela ne pose aucun problème si vim a déjà été installé ou s'il s'agit d'un nouveau paquet installé après cet état. Si pkg: vim est installé avec succès, il exécutera le second état.
Ceci est utile si vous avez un état particulier qui pourrait échouer. Vous pouvez ajouter le require
à tous les autres états pour s'assurer qu'ils ne seront appliqués que si cet état est particulièrement réussi.
Pour répondre à votre question: Il n'est pas possible de faire échouer tous les états à l'intérieur de l'état.sls si l'un d'eux échoue. Vous pouvez contourner ce problème en exécutant votre state.sls avec salt '*' state.apply state test=True
pour voir ce qui se passerait. Si l'un des états échoue, vous pouvez décider de ne pas appliquer l'état.
J'espère que cela répond à votre question. Si ce n'est toujours pas clair, vous pourriez vouloir donner un exemple :-)
Merci :) C'est ce que je dois être sûr que les choses vont dans le bon sens. – Anatoly