Take a look at with_indexed_items:
http://docs.ansible.com/playbooks_loops.html#looping-over-a-list-with-an-index


On Wednesday, January 14, 2015, Laurent Goussard <[email protected]> wrote:

> Thanks, but as I said, I tried to loop over the group list, but I cannot
> get any iteration key.
>
> I try to loop over a hosts group and getting an index of the current
> iteration in order to set a cron task at midnight for the first host, 01am
> for the second, 02am for the third, etc...
>
> Le mardi 13 janvier 2015 20:47:22 UTC+1, Dan Vaida a écrit :
>>
>> to iterate over a hosts group you need with_items: groups['mysql']
>> instead of with_dict
>>
>> On Tuesday, 13 January 2015 09:41:07 UTC+1, Laurent Goussard wrote:
>>>
>>> Hello,
>>>
>>> I try to setup a cron task using ansible (indeed) on my db slave pool.
>>> This cron task is supposed to stop the replication process, dump the
>>> database and restart replication.
>>> Because the backup takes a little time, I don't want to init the cron
>>> task at the same time on all the db slaves and I don't want to stop all the
>>> slaves at the same times either.
>>>
>>> My first idea was to set a different time while looping on the group.
>>> But it's definitely not as trivial as it seems :
>>>
>>> - name: database backup cron task
>>>   cron: name="database backup" hour={{ item.key }} user="root" job=
>>> "backup_db.sh" cron_file=database_backup
>>>   with_dict: groups.mysql
>>>
>>> The point is an inventory group is a list, not a dictionnary and I
>>> cannot find any simple way to convert a list to a dict (whereas it's easy
>>> to convert a dict as a list)
>>> I also tried to use the group list instead, but I cannot figure out how
>>> I can get an iterator key.
>>>
>>> Did I miss something ? Do you have any clue regarding my (not so complex
>>> imho) problem ?
>>>
>>  --
> 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/606d4a34-9344-42a8-a36a-dd2601dcbd32%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/606d4a34-9344-42a8-a36a-dd2601dcbd32%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_ncqhKb-KSrKqooaxNQ_HfP0uSaDuxtKP5F41DROU8bg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to