Faire respecter l'ordre d'exécution en recettes chef
J'ai deux recettes:
- Configure mon répertoire home avec des choses comme mon .bashrc, fonctionne sur presque toutes les machines-je utiliser
- Monte un volume contenant mon répertoire home. Ce n'obtient utilisée que par une seule instance EC2 à un moment, mais me permet de migrer facilement vers une nouvelle instance
Dans le cas de cette instance EC2 lors de son premier démarrage, j'ai besoin de recette #2 doit être exécutée avant la recette #1 ou le volume ne sera pas monté encore. Comment puis-je m'assurer que cet ordre d'exécution sera forcé explicitement?
Vous devez vous connecter pour publier un commentaire.
Chef toujours exécute les recettes dans l'ordre que vous spécifiez. Il ne sera pas arbitrairement réorganiser les choses. Donc, si vous voulez une recette pour être exécuté avant un autre, il suffit de charger dans l'ordre (par exemple, Dans le
run_list
)De faire mieux appliquer ce, au détriment de couplage supplémentaire entre vos recettes), vous pouvez également utiliser
include_recipe
au début de la deuxième recette pour charger la première.Si vous souhaitez que ces deux actions réalisées lors de la connexion (et pas de temps de démarrage) ...
... et si vous avez besoin de les faire dans un ordre précis ...
... alors vous devez simplement écrire un script qui appelle les deux d'entre eux. Dans l'ordre correct.
À mon humble avis...