I was configuring GlusterFS on few servers using Ansible and have a need to update /etc/hosts
with hostnames for easier configuration. I found this one working:
- name: Update /etc/hosts
lineinfile: dest=/etc/hosts regexp='.*{{item}}$' line='{{hostvars.{{item}}.ansible_default_ipv4.address}} {{item}}' state=present
with_items: '{{groups.somegroup}}'
Source:
http://xmeblog.blogspot.com/2013/06/ansible-dynamicaly-update-etchosts.html