Ansible: puis-je exécuter rôle en ligne de commande?
Supposons que j'ai un rôle appelé "apache"
Maintenant, je veux l'exécuter rôle de l'hôte 192.168.0.10 à partir de la ligne de commande à partir Ansible hôte
ansible-playbook -i "192.168.0.10" --role "path to role"
Est-il un moyen de le faire?
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas au courant de cette fonctionnalité, mais vous pouvez utiliser les tags de l'exécuter à un rôle à partir de votre playbook.
Avec ansible 2.7 vous pouvez faire ceci:
Cela va démarrer le rôle de /chemin/vers/ansible/rôles ou configuré rôle chemin.
Lire la suite ici:
https://github.com/ansible/ansible/pull/43131
'ERROR! 'async_val' is not a valid attribute for a IncludeRole'.
Il n'y a pas une telle chose dans Ansible, mais si c'est un utilisent souvent le cas pour vous, essayez ce script.
Mettre quelque part à l'intérieur de votre consultable CHEMIN d'accès sous le nom de
ansible-role
:ansible localhost -m include_role -a name=myrole
- fonctionne pour moi!ansible localhost -m include_role -a name=myrole
est en panne depuis ansible 2.8. Il enregistre tout cryptique des messages d'erreur comme'ERROR! 'async_val' is not a valid attribute for a IncludeRole'.
Vous pouvez aussi vérifier ansible-boîte à outils référentiel. Il vous permettra d'utiliser quelque chose comme
J'ai écrit un petit Ansible plugin, appelé
auto_tags
, qui génère dynamiquement pour chaque rôle dans votre playbook une balise du même nom. Vous pouvez le trouver ici.Après l'installation (les instructions sont dans le résumé ci-dessus) vous pouvez ensuite exécuter un rôle précis:
ansible-playbook -i "192.168.0.10" --tags "name_of_role"
dans ansible 2.8 il fonctionne de façon légèrement différente