# Update hosts file with host in group

**URL:** <https://forum.ansible.com/t/update-hosts-file-with-host-in-group/18971>\
**Category:** Ansible Project\
**Created:** [August 7, 2015, 8:10pm UTC](https://forum.ansible.com/t/update-hosts-file-with-host-in-group/18971 "2015-08-07T20:10:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Roy](https://avatars.discourse-cdn.com/v4/letter/r/4da419/32.png) [@Roy](https://forum.ansible.com/u/Roy)\
**Post date:** [August 7, 2015, 8:10pm UTC](https://forum.ansible.com/t/update-hosts-file-with-host-in-group/18971/1 "2015-08-07T20:10:35Z")

</div>

Hi,

I want to create host file with following requirements

My inventory file

> [hadoop:children]  
> hadoop-master  
> hadoop-slave  
> hadoop-gateway
> 
> [hadoop-master]  
> [hnn001.test.abc.com](http://hnn001.test.abc.com)  
> [hnn002.test.abc.com](http://hnn002.test.abc.com)
> 
> [hadoop-slave]  
> [hdp001.test.abc.com](http://hdp001.test.abc.com)  
> [hdp002.test.abc.com](http://hdp002.test.abc.com)  
> [hdp003.test.abc.com](http://hdp003.test.abc.com)  
> [hdp004.test.abc.com](http://hdp004.test.abc.com)  
> [hdp005.test.abc.com](http://hdp005.test.abc.com)  
> [hdp006.test.abc.com](http://hdp006.test.abc.com)
> 
> [hadoop-gateway]  
> [hadoop-client01.test.abc.com](http://hadoop-client01.test.abc.com)

My task (got from [https://gist.github.com/rothgar/8793800](https://gist.github.com/rothgar/8793800)) :

> - name: Update /etc/hosts  
> lineinfile: dest=/etc/hosts regexp=‘.\*{{ item }}$’ line=“{{ hostvars[item].ansible\_default\_ipv4.address }} {{item}}” state=present  
> when: hostvars[item].ansible\_default\_ipv4.address is defined  
> with\_items: groups[‘hadoop’]

but here I need to run playbook on the group (hadoop), how can I just run on group children (hadoop-master, hadoop-slave, hadoop-gateway) or just one of the host & still get host entry for all hosts in the group.

any idea how to do that in ansible ?

Thanks
