The solution Dag posted is what I've always done, and it works great for me. I've been advocating for block loop support (as a cleaner solution to exactly this issue) since before it shipped, but I don't have the bandwidth to implement myself right now, and around here it's kinda "put up or shut up". ;) If it doesn't work for you, let us know why and maybe we can get it figured out.
I really wouldn't recommend the "run the playbook in a loop" thing- you lose a lot of output fidelity and error handling, and it's really just a way more expensive way to do what Dag suggested. I actually originally wrote win_updates with a wrapper action that would handle the reboots automatically, but for various reasons (that I can't recall) decided to abandon the wrapper before I shipped it... -Matt On Monday, January 2, 2017 at 7:39:48 AM UTC-8, [email protected] wrote: > > Hi, > > I'm using win_updates module to carry out windows patching and it works > pretty good. > Sometime, updates have dependencies and multiple playbook execution > required. > > I was thinking, if possible, to loop the playbook until > "found_update_count > 0" without the need of running ansible-playbook > multiple time after each finish. > > My playbook looks like this: > > - hosts: win_server_1 > ignore_errors: true > gather_facts: true > > tasks: > - name: search wu > win_updates: > category_names: > - UpdateRollups > - CriticalUpdates > - SecurityUpdates > state: > - searched > log_path: > - c:/temp/ansible_wu.txt > register: searched > > - name: install wu > win_updates: > category_names: > - UpdateRollups > - CriticalUpdates > - SecurityUpdates > state: > - installed > log_path: > - c:/temp/ansible_wu.txt > register: installed > when: searched.found_update_count > 0 > > - name: reboot > win_reboot: > pre_reboot_delay_sec: 0 > test_command: whoami > reboot_timeout_sec: 300 > when: installed.reboot_required = 'true' > register: reboot > > > I cant figure out how to put this in playbook by myself, seeking for some > guidance. > > Thanks, > > -- 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/2ebf7ecd-8da0-4b1d-99ba-f886721a9d2c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
