Hello,

I think you should use templating and jinja2 a bit in here. Will make the
file easier to control and avoid appending. You can also use NetworkManager
(if you use that).

On Mon, Apr 29, 2019 at 5:38 AM Kunalsing Thakur <[email protected]>
wrote:

> Can you show me one example of your hosts file from one of node
>
> On Mon, 29 Apr 2019, 15:00 <[email protected] wrote:
>
>> 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] 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/a00f8ca8-cb4d-477a-a6a5-770bcfc6e939%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/a00f8ca8-cb4d-477a-a6a5-770bcfc6e939%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/CANErU6mKUvBL2Wb3bUPOu-Hh6nvq0BYMh8xc2gkfvJf6m3VP1A%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CANErU6mKUvBL2Wb3bUPOu-Hh6nvq0BYMh8xc2gkfvJf6m3VP1A%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 

Jonathan lozada de la matta

AUTOMATION PRACTICE

-- 
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/CAFYJA%2B%2B1qEs3xnsojUJoVy_gOb%2Bk6VF9e4OODG%3D4idaZdv1j%3DQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to