Estou escrevendo um manual de atualização contínua e gostaria de imprimir o nome do host atual que foi atualizado.
Coloquei inventory_hostname
e ansible_hostname
nos nomes das tarefas, mas isso não funcionou
- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}
depuração funciona bem
- name: Test a variable
debug: var=inventory_hostname
TASK: [Test a variable] *******************************************************
ok: [SERV14] => {
"var": {
"inventory_hostname": "SERV14"
}
}
Então, o que devo fazer para poder usar essas variáveis nas descrições de nomes de tarefas.
obrigado
Respostas:
A partir da versão 2.0, o Ansible suporta a substituição de variáveis nos nomes de tarefas / manipuladores: https://github.com/ansible/ansible/issues/10347 , portanto, esses exemplos funcionarão conforme o esperado:
fonte
Eu acho que você deveria escrever o
{{ ansible_hostname }}
depois dotasks:
, porque antes disso ainda não reuniu os fatos, então não pode dar o resultado. Posso estar errado no conceito, mas na prática foi bem-sucedido.fonte