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.
