ansible_user ansible_password ansible

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