Why do you need that to append. If you have hosts file you can use copy to
replace that role in every hosts file.  I assume you have DNS server

On Mon, 29 Apr 2019, 14:28 <[email protected] wrote:

> No, I'm not referring to the inventory file, it will be a separate file
> that will have other hosts. However, you have pointed me in the right
> direction, thank you for that.
> Here is what I have come up with and this works, but my problem now is
> that every time there are new servers added, the existing servers will get
> the same hosts records all the time so there will be duplicates in the
> /etc/hosts. I haven't been able to figure out how to look at the existing
> servers in the host file and only add new servers.:
>
> *--- # Copy hosts file*
> *- hosts: all*
> *  become: yes*
> *  tasks:*
> *  - name: update hosts template file*
> *    copy:*
> *      src: /home/ansible/hostfile *
> *      dest: /tmp/hostfile*
> *      owner: root*
> *      group: root*
> *      mode: 0644*
> *      backup: yes*
>
> *  - name: Append template file to master host file*
> *    shell: cat /tmp/hostfile >> /etc/hosts*
>
> *  - name: Delete temp file*
> *    file:*
> *      path: /tmp/hostfile*
> *      state: absent*
>
>
> This works, but my problem now is that every time there are new servers
> added, the existing servers will get the same hosts records all the time so
> there will be duplicates in the /etc/hosts. I haven't been able to figure
> out how to look at the existing servers in the host file and only add new
> servers.
>
>
>
> On Sunday, April 28, 2019 at 5:53:36 AM UTC-4, Kunalsing Thakur wrote:
>>
>> Yes. Use copy module. I hope so you are referring to inventory file which
>> has all node details.
>> Like below
>>
>> /etc/ansible/inventory
>> [all]
>> host1
>> host2
>> host3
>>
>> /etc/ansible/playbook/master
>> host entry files
>>
>>
>> /etc/ansible/playbook/test.yaml
>>
>> host: all
>> tasks:
>>    - name: copying host file to all nodes
>>      copy:
>>          src: /etc/ansible/playbook/master
>>          dest: /etc/hosts
>>          mode: 0755
>>
>>
>> On Sun, 28 Apr 2019, 15:16 <[email protected] wrote:
>>
>>> Actually, I am referring to the master file outside the playbook.
>>> In other words I just have a plain text master file with all my host
>>> entries. Then, I create a playbook that references that master file to send
>>> to all nodes as reference to update their /etc/hosts file.
>>> Is that possible?
>>>
>>>
>>> On Sunday, April 28, 2019 at 5:43:06 AM UTC-4, Kunalsing Thakur wrote:
>>>>
>>>> If I understand correctly the master file you are talking about is
>>>> playbook term in ansible. The playbook has all information related to hosts
>>>> and deployment instruction. You can give the Input in playbook and it will
>>>> modify the stuff accordingly.
>>>>
>>>> On Sun, 28 Apr 2019, 15:09 <[email protected] wrote:
>>>>
>>>>> I hope I am posting this to the correct area...
>>>>>
>>>>> I'm really new to Ansible and am in the process of trying to learn it.
>>>>> Question: Does Ansible have the ability to look at a master file that
>>>>> contains host file information and deploy information from that master 
>>>>> file
>>>>> to the /etc/hosts file on all the nodes in my environment so that when I
>>>>> add a new host all that I need to do is update that master file and
>>>>> redeploy to all my nodes appending, or replacing, that existing /etc/hosts
>>>>> file?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Ansible Project" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/ansible-project/9a0cbe4c-98b9-4609-a3a8-843fbdbcd326%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/9a0cbe4c-98b9-4609-a3a8-843fbdbcd326%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Ansible Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/ansible-project/30e8efe2-7513-484b-bdaa-090c33e050f9%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/30e8efe2-7513-484b-bdaa-090c33e050f9%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/4094ac6f-b53c-42d9-b3ee-c405f2664cf3%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/4094ac6f-b53c-42d9-b3ee-c405f2664cf3%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CANErU6%3DeG6wZ6zbuudR0sHEHTBCAwT%2B44_s4Bgti7zcpBfOPMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to