ansible_password - ansible hosts variables
Ansible-Acceso al alias de inventario (2)
La variable que estaba buscando es una característica incorporada: inventory_hostname
La documentación ansible sobre inventory_hostname
y inventory_hostname_short
se encuentra en el capítulo Variables mágicas, y Cómo acceder a información sobre otros hosts .
Pregunta original: https://groups.google.com/forum/#!topic/ansible-project/Oa5YXjHecIw
Tener un archivo de inventario como:
[my_hosts]
my_host ansible_ssh_host=123.123.123.123
my_host2 ansible_ssh_host=234.234.234.234
Quiero reunir información de depuración en mis plantillas.
¿Cómo accedo a la variable alias en un libro de jugadas / plantilla? Es decir:
debug: msg=Myhost is {{ ansible_host_alias }} # Myhost is my_host # Myhost is myhost2
Intenté recopilar datos utilizando ansible -m setup my_host
. Las variables ansible_hostname
, HOSTNAME
y HOST
contienen el nombre de host de la máquina, es decir, echo $HOSTNAME
que difiere de mi alias ansible.
Simplemente puedes usar {{ ansible_ssh_host }}
Por ejemplo:
Inventario:
[my_hosts]
my_host ansible_ssh_host=127.0.0.1 my_host_alias=my_host
Playbook:
---
- name: My Good playbook
user: ubuntu
hosts: all
tasks:
- name: My message
debug: msg="Myhost is {{ ansible_ssh_host }}"
- name: My message bogus
debug: msg="My host alias is {{ my_host_alias }}"
Ejecución:
$ ansible-playbook -i inventory play.yml
PLAY [My Good playbook] *******************************************************
GATHERING FACTS ***************************************************************
ok: [my_host]
TASK: [My message] ************************************************************
ok: [my_host] => {
"msg": "Myhost is 127.0.0.1"
}
TASK: [My message bogus] ******************************************************
ok: [my_host] => {
"msg": "My host alias is my_host"
}
PLAY RECAP ********************************************************************
my_host : ok=3 changed=0 unreachable=0 failed=0