J'écris un playbook de mise à niveau progressive et je voudrais imprimer le nom d'hôte de l'hôte actuel mis à niveau.
Je mets inventory_hostname
et ansible_hostname
dans les noms de tâches mais ça n'a pas marché
- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}
le débogage fonctionne bien
- name: Test a variable
debug: var=inventory_hostname
TASK: [Test a variable] *******************************************************
ok: [SERV14] => {
"var": {
"inventory_hostname": "SERV14"
}
}
Alors, que dois-je faire pour pouvoir utiliser ces variables dans les descriptions de nom de tâche.
Merci
Réponses:
À partir de la version 2.0, Ansible prend en charge la substitution de variables dans les noms de tâche / gestionnaire: https://github.com/ansible/ansible/issues/10347 , donc ces exemples fonctionneront comme prévu:
la source
Je pense que vous devriez écrire
{{ ansible_hostname }}
aprèstasks:
, car avant cela, il n'a pas encore rassemblé les faits, donc il ne peut pas donner le résultat. Je me trompe peut-être sur le concept, mais en pratique, il a réussi.la source