Comment obtenir le nom d'hôte de la machine en cours tel que défini dans l'Ansible fichier hosts?
Je suis la mise en place d'un Ansible playbook à mis en place un couple de serveurs. Il ya un couple de tâches que je ne veux exécuter si l'hôte actuel est de ma région dev hôte, nommé "local" dans mon fichier hosts. Comment puis-je faire cela? Je ne peux pas le trouver n'importe où dans la documentation.
J'ai essayé ce que lors de l'instruction, mais il échoue car ansible_hostname
résout le nom d'hôte généré lorsque la machine est créé, et non pas celui que vous avez défini dans votre fichier hosts.
- name: Install this only for local dev machine
pip: name=pyramid
when: ansible_hostname == "local"
Vous devez vous connecter pour publier un commentaire.
Nécessaires variable est
inventory_hostname
.Il est un peu caché dans la documentation au bas de cette section.
Vous pouvez limiter le champ d'application d'un plan en modifiant l'en-tête hôtes dans ses pièces de théâtre, sans compter sur votre hôte spécial de l'étiquette de "local" dans votre inventaire. Localhost n'a pas besoin d'une ligne spéciale dans les inventaires.
hosts: !localhost
fonctionne probablement aussi, comme par exemple--limit '!dev'
œuvresC'est une alternative: