I've solved it this way 
- https://github.com/ansible/ansible/issues/12086#issuecomment-327927275

On Thursday, September 7, 2017 at 10:22:52 PM UTC+2, Giovanni Gaglione 
wrote:
>
> Hi Matt,
>
> This solution does not work well when a group has multiple hostname that 
> are all the same.
>
> E.g.
>
> [my-hosts]
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>
>
> In this case, do you recommend a way to get the index of the current host?
>
>
> On Thursday, November 5, 2015 at 1:26:48 PM UTC+1, Matt Martz wrote:
>>
>> A few ways potentially:
>>
>> {{ play_hosts.index(inventory_hostname) }}
>>
>> If you want to know host index within a play
>>
>>
>> Or:
>>
>> {{ groups.somegroup.index(inventory_hostname) }}
>>
>> For getting the index of a host within a group.
>>
>>
>>
>> On Wednesday, November 4, 2015, Rob White <[email protected]> wrote:
>>
>>> Unfortunately not.  I'm not iterating over a list.  Ansible is just 
>>> making it's way through a group of hosts so i need Ansible to tell me which 
>>> host it is operating on.
>>>
>>>
>>>
>>> On Thursday, 5 November 2015 16:30:01 UTC+11, Mirko Friedenhagen wrote:
>>>>
>>>> Hello Rob, 
>>>>
>>>> maybe 
>>>> http://docs.ansible.com/ansible/playbooks_loops.html#looping-over-a-list-with-an-index
>>>>  
>>>> might help. 
>>>>
>>>> Regards 
>>>> Mirko 
>>>> Regards Mirko 
>>>> -- 
>>>> http://illegalstateexception.blogspot.com/ 
>>>> https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen) 
>>>> https://bitbucket.org/mfriedenhagen/ 
>>>>
>>>>
>>>> On Thu, Nov 5, 2015 at 5:43 AM, Rob White <[email protected]> wrote: 
>>>> > I'm sure this must've come up before but I couldn't find an answer. 
>>>> > 
>>>> > I have a list of hosts in a group.  I want to write an index number 
>>>> on each 
>>>> > of those hosts in a file.  E.g. the first host has a file that 
>>>> contains 1, 
>>>> > the second host has a file that contains 2 etc. 
>>>> > 
>>>> > Now I know I can access the hosts using the groups variable E.g. 
>>>> > groups["mygroup"] but i can't find any reference to an index so the 
>>>> host can 
>>>> > find out which number it is. 
>>>> > 
>>>> > Example play 
>>>> > 
>>>> > ... 
>>>> > 
>>>> > - name: Add instance to new host group 
>>>> > 
>>>> >   add_host: 
>>>> > 
>>>> >     name: "{{ item }}" 
>>>> > 
>>>> >     group: zk 
>>>> > 
>>>> >   with_items: 
>>>> > 
>>>> >     - server1 
>>>> > 
>>>> >     - server2 
>>>> > 
>>>> >     - server3 
>>>> > 
>>>> > 
>>>> > - name: deploy to zk group 
>>>> > 
>>>> >   hosts: zk 
>>>> > 
>>>> >   tasks: 
>>>> > 
>>>> >     - name: write a myid file based on the position in the group 
>>>> > 
>>>> >       copy: 
>>>> > 
>>>> >         content: {{ some_magic_variable?????? }} 
>>>> > 
>>>> >         dest: /zookeeper-data/myid 
>>>> > 
>>>> > 
>>>> > 
>>>> > In the above server i would expect to end up with three servers each 
>>>> with a 
>>>> > myid file that contains 0, 1 or 2 
>>>> > 
>>>> > 
>>>> > Anyone know if that magic variable exists? 
>>>> > 
>>>> > -- 
>>>> > 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/c3dec262-b1b5-414f-88ba-c326d4ccd93e%40googlegroups.com.
>>>>  
>>>>
>>>> > 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/7b22d364-82e2-40ff-b3ac-81f2b296d03b%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/7b22d364-82e2-40ff-b3ac-81f2b296d03b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>> -- 
>> Matt Martz
>> @sivel
>> sivel.net
>>
>>

-- 
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/3e7d6bc8-f2b1-4d63-85a8-b386c0ecedc5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to