Having an inventory file like:
[my_hosts] my_host ansible_ssh_host=123.123.123.123 my_host2 ansible_ssh_host=234.234.234.234
I want to gather some debug information in my templates.
How do I acces the alias variable in a playbook/template? I.e.:
debug: msg=Myhost is {{ ansible_host_alias }} # Myhost is my_host # Myhost is myhost2
I tried to gather facts using ansible -m setup my_host
. The variables ansible_hostname
, HOSTNAME
and HOST
contain the machine's hostname, i.e. echo $HOSTNAME
which differs from my ansible alias.
The default location for inventory is a file called /etc/ansible/hosts . You can specify a different inventory file at the command line using the -i <path> option.
The host_vars is a similar folder to group_vars in the repository structure. It contains data models that apply to individual hosts/devices in the hosts. ini file. Hence, there is a YAML file created per device containing specific information about that device.
The variable I was searching for is a built in feature: inventory_hostname
Ansible documentation about inventory_hostname
and inventory_hostname_short
is found from chapter Magic Variables, and How To Access Information About Other Hosts.
Original question: https://groups.google.com/forum/#!topic/ansible-project/Oa5YXjHecIw
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With