http://docs.ansible.com/ansible/latest/playbooks_loops.html#looping-over-a-list-with-an-index

On 7 September 2017 at 19:14, Giovanni Gaglione
<[email protected]> wrote:
> I basically need the index of the current hostname, but I can't find a way.
> {{ groups['browsers'].index(inventory_hostname) }} will return always the
> same index (because the hostname is always the same).
>
> I couldn't find any other way. Do you know if the API offers something more
> appropriate? Still doing research...
>
> On Thursday, September 7, 2017 at 7:17:08 PM UTC+2, Giovanni Gaglione wrote:
>>
>> Hi Jesse,
>>
>> Could you make an example of this solution?
>>
>> My scenario is like the following:
>>
>> [myhost]
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>> 192.168.1.1
>>
>> But then, when ansible iterates over these host, I would like to have a
>> unique name of the host (example `192.168.1.1-3th`). It seems there is not
>> way to get the index of the host.
>>
>> Any suggestion?
>>
>> On Tuesday, September 3, 2013 at 6:33:39 AM UTC+2, Jesse Keating wrote:
>>>
>>> On Aug 28, 2013, at 9:52 AM, CS <[email protected]> wrote:
>>> >
>>> > Thanks for the response. I thought of using bash `wait` and a script,
>>> > but I would like to stay in Ansible as much as possible.
>>> >
>>> > My use case is that there are multiple "slow enough" independent tasks
>>> > that happen on a host, but I can't fire and forget because I need to know
>>> > that they either succeed or fail. That seems like a pretty common use 
>>> > case,
>>> > and I have other things too that would benefit from this kind of
>>> > parallelism, but maybe I'm using Ansible in a non-standard way. In this
>>> > case, I'm installing N (2 or 3 for now) python virtualenvs for independent
>>> > services on a single host, each of which takes about 5 minutes to install.
>>> > I'd love to have developers wait 5 minutes rather than 5N minutes for that
>>> > part of the installation, and there are other tasks too that nothing else
>>> > depends on but that need to be reported as succeeding or failing.
>>> >
>>> > Are there any other approaches I might consider using Ansible apart
>>> > from moving all the parallel tasks into a script?
>>>
>>> What I've done to accomplish this is to create fake inventory entries,
>>> one entry per action I want to do in parallel. Then I have a play that works
>>> over this group of "hosts" to execute the action(s) I want done, all
>>> delegated to localhost.
>>>
>>> This kicks in Ansible's forking and lets the tasks run in parallel.
>>>
>>> -jlk
>>>
> --
> 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/76c1c632-7921-4fa3-97ce-77d9e27d475d%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/CAK5eLPQ6yNFJfTmrwhTd0-%3DwwV75gQh59cbJx3VjXEj9OV%2B%3DGA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to