Ich schreibe ein laufendes Upgrade-Playbook und möchte den Hostnamen des aktuell aktualisierten Hosts ausdrucken.
Ich habe inventory_hostname
und ansible_hostname
in Aufgabennamen aber das hat nicht funktioniert
- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}
Debug funktioniert gut
- name: Test a variable
debug: var=inventory_hostname
TASK: [Test a variable] *******************************************************
ok: [SERV14] => {
"var": {
"inventory_hostname": "SERV14"
}
}
Was soll ich also tun, um diese Variablen in den Beschreibungen der Aufgabennamen verwenden zu können?
Vielen Dank
Antworten:
Ab v2.0 unterstützt Ansible das Ersetzen von Variablen in Task- / Handlernamen: https://github.com/ansible/ansible/issues/10347 . Die folgenden Beispiele funktionieren also wie erwartet:
quelle
Ich denke, Sie sollten das
{{ ansible_hostname }}
nachher schreibentasks:
, denn vorher hat es die Fakten noch nicht gesammelt, so dass es das Ergebnis nicht geben kann. Ich kann mich in dem Konzept irren, aber in der Praxis war es erfolgreich.quelle