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]
> <javascript:_e(%7B%7D,'cvml','ansible-project%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[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/CAD8N0v-QHDFQCatwRLJ7Es07tmM4ihJwzt3-9%3D4rYqYL_pUpMw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.