Ack. I just noticed that the example below is not a good solution since it 
never did run the "Performing tasks after windows updates." task in the 
main.yml file.

Sorry. Please ignore the example.

On Friday, 13 January 2017 14:14:58 UTC, Jinesh Choksi wrote:
>
> - "until: is not currently supported on includes." (
> https://github.com/ansible/ansible/issues/17098)
>
> - "When you call include, Ansible actually places tasks from included file 
> into the execution queue after the current task." (
> http://stackoverflow.com/a/38481496)
>
>
> The example below is a hack but it has a useful property whereby tasks in 
> the inner taskbook will not be run if the play was ended. i.e.
>
>     calling inner-taskbook 1st time
>     - running tasks
>
>     calling inner-taskbook 2nd time
>     - running tasks
>
>     calling inner-taskbook 3rd time
>     - running tasks
>     - play ended because we've determined that we've finished the work
>
>     calling inner-taskbook 4th time
>     - noop
>
>     calling inner-taskbook 5th time
>     - noop
>
>     calling inner-taskbook nth time
>     - noop
>
>
> So if you configure the with_sequence parameters as you would have done 
> the "until:" command's "retries" attribute then you kinda simulate the 
> retry functionality with the example below.
>
> You will notice that the taskbook does get "included" 100 times but the 
> tasks in it are ONLY executed the number of times actually required.
>
>
>
> run.sh:
> ---snip---
> #!/usr/bin/env bash
>
> ansible-playbook -vvv  -i 'localhost,' -c local main.yml
> ---snip---
>
>
>
> main.yml:
>
> ---
> - hosts:
>    - localhost
>
>   tasks:
>    - name: "Performing tasks before windows updates."
>      debug: msg="blah blah"
>
>     - name: "Calling playbook that will install windows updates."
>      include: inner-taskbook.yml
>      with_sequence: start=1 end=100
>      loop_control:
>        loop_var: main_item
>
>     - name: "Performing tasks after windows updates."
>      debug: msg="blah blah blah"
>
>
>
> inner-taskbook.yml:
> - name: "Performing Windows updates, printing loop counter for reference 
> {{ main_item }}."
>  debug: var=main_item
>
> - name: "Task to determine whether further updates are needed."
>  set_fact:
>    updates_needed: "{{ 10|random }}"
>
> - name: "Ending play if no further updates needed. {{ updates_needed }}"
>  meta: end_play
>  when: updates_needed  == '1'
>
>
>
>

-- 
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/d109f167-b52d-40f4-bc34-7c7bc9f5ffcd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to