Я пишу текущее обновление и хочу напечатать имя хоста текущего хоста, который был обновлен.
Я поставил inventory_hostname
и ansible_hostname
в именах задач, но это не сработало
- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}
отладка работает нормально
- name: Test a variable
debug: var=inventory_hostname
TASK: [Test a variable] *******************************************************
ok: [SERV14] => {
"var": {
"inventory_hostname": "SERV14"
}
}
Итак, что я должен сделать, чтобы иметь возможность использовать эти переменные в описаниях имен задач.
Благодарность
Ответы:
Начиная с версии 2.0 Ansible поддерживает подстановку переменных в именах задач / обработчиков: https://github.com/ansible/ansible/issues/10347 , поэтому эти примеры будут работать, как и ожидалось:
источник
Я думаю, что вы должны написать
{{ ansible_hostname }}
послеtasks:
, потому что до этого он еще не собрал факты, поэтому он не может дать результат. Я могу ошибаться в концепции, но на практике она была успешной.источник