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.