Is this what "block" tasks are meant to handle?

On Friday, June 20, 2014 at 7:50:03 AM UTC-4, Tom Cannaerts wrote:
>
> I'm writing a playbook to create a number of solr cores, but I'm running 
> into some issues.
>
> I started with a task file that would be included, but appearantly include 
> and with_items isn't supported.
>
> The idea was, that for every core I would check that the base folder of 
> the core existed. This result (stat) would be saved to a variable.
>
> - name: check for core existence
>   stat: path=/usr/share/solr/live/solr/cores/{{ item.name }}
>   register: st_cores
>   with_items: solr_cores
>
> Then, to enumerate over it in later tasks, I could use the 
> with_indexed_items and use a conditional when to exclude the cores that 
> were already present
> eg:
>
> - name: Copy example core
>   shell: cp -R /usr/share/solr/example/solr/collection1/conf/* 
> /usr/share/solr/live/solr/cores/{{ item.0.name }}/conf/
>   with_items: solr_cores
>   when: not st_cores.results[{{ item.0 }}].stat.exists
>
> This works fine for most of the tasks, but I also have a number of tasks 
> that use with_items themselves. I managed to combine them using 
> with_nested, but I can't figure out how to include the conditional, as I 
> don't have the index as with with_indexed_items
>
> eg.
> - name: Copy some files
>   shell: cp /some/folder/{{ item[1] }} /usr/share/solr/cores/{{ 
> item[0].name }}/
>   with_nested:
>     - solr_cores
>     - [ 'somefile.xml', 'anotherfile.xml', 'evenmorefiles.xml' ]
>   when: not st_cores.results[{{ item[0].0 }}].stat.exists
>     
> Basically, I can't check stat results, as I don't know the index of the 
> current item in that array. Any ideas on how I can solve this? Either I 
> need a way to be able to check for the file existance on some other way 
> that does work with with_nested, or I need some sort of creative workaround 
> for the include with_items 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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/c063cff3-fe15-4b04-94c0-98fb4a6b8742%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to