Ansible - get hostnames and private IPs from inventory file
<p>Is there any way to get the private IP of each node?</p>

<p>With this template:</p>

<pre><code>{{ ansible_managed }}

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

{% for item in groups['all'] %}
{{ hostvars[item]['ansible_ssh_host'] }} {{ item }}
{% endfor %}
</code></pre>

<p>I get the following result:</p>

<pre><code>Ansible managed

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1 arithproducer
127.0.0.1 controller
127.0.0.1 restapi
</code></pre>

<p>Being my inventory file:</p>

<pre><code>[control]
controller ansible_ssh_host=192.168.50.3 ansible_ssh_user=vagrant

[servers]
restapi ansible_ssh_host=192.168.50.5 ansible_ssh_user=vagrant

[producers]
arithproducer ansible_ssh_host=192.168.50.4 ansible_ssh_user=vagrant

[services:children]
servers
producers
</code></pre>

<p>The idea is to get this information so I can populate the <code>/etc/hosts/</code> file in the control node</p>