Piszę poradnik dotyczący aktualizacji kroczącej i chciałbym wydrukować nazwę hosta aktualnego hosta, który został zaktualizowany.
Włożyłem inventory_hostname
i ansible_hostname
w nazwach zadanie, ale to nie pomogło
- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}
debugowanie działa dobrze
- name: Test a variable
debug: var=inventory_hostname
TASK: [Test a variable] *******************************************************
ok: [SERV14] => {
"var": {
"inventory_hostname": "SERV14"
}
}
Co powinienem zrobić, aby móc używać tych zmiennych w opisach nazw zadań.
Dzięki
Odpowiedzi:
Począwszy od wersji 2.0 Ansible obsługuje podstawianie zmiennych w nazwach zadań / procedur obsługi: https://github.com/ansible/ansible/issues/10347 , więc te przykłady będą działać zgodnie z oczekiwaniami:
źródło
Myślę, że powinieneś napisać
{{ ansible_hostname }}
potasks:
, ponieważ wcześniej nie zebrał jeszcze faktów, więc nie może dać rezultatu. Mogę się mylić co do koncepcji, ale w praktyce okazała się skuteczna.źródło