I do not have a DNS server, hence the need to manually update the /etc/hosts file. This a small network with less than 50 clients.
On Monday, April 29, 2019 at 5:07:56 AM UTC-4, Kunalsing Thakur wrote: > > 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] <javascript:> 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> 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/a00f8ca8-cb4d-477a-a6a5-770bcfc6e939%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
