I have got a playbook where i need to check if the host fact for reboot is 
set to true, i need to execute the rest of the instructions for that 
particular host in the inventory only if the reboot condition is true.
Following is the playbook. I would like to avoid executing all the tasks 
for the host where the condition *ansible_facts['Pending_Reboot'] == false *
or *when: ansible_facts['Pending_Reboot'] != false. *In such case, the 
execution should be skipped for that particular host and move to next host 
in the inventory.

- hosts: all
  gather_facts: false
  tasks:
    - name: Check and Reboot Server based on Pending_Reboot Fact
      shell: "sleep 5 && reboot"
      async: 1
      poll: 0
      when: ansible_facts['Pending_Reboot'] == true


    - name: Pause for 10 seconds
      pause:
        seconds: 10


    - name: Wait for Re-connection
      wait_for_connection:
        connect_timeout: 5
        sleep: 5
        delay: 90
        timeout: 600


    - name: Run checkLinuxSystemUpdateStatusTask task file to re-validate 
Reboot Status
      include: checkLinuxSystemUpdateStatusTask.yml


What is the best and least time consuming way of doing this? I was checking 
the documentation for *block *but i am not sure if i can use the conditions 
for a block.

Thanks in Advance.

*Regards,*
*Ankit*

-- 
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/7624b277-2b8f-4fc8-8eec-7fd68f500354%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to