--- - hosts: testhost gather_facts: no vars: foo: foo bar tasks: - name: Changed task command: echo foo changed_when: true notify: test handlers - name: Ok task command: echo foo changed_when: false - name: Failed task fail: msg: no reason ignore_errors: yes - name: Skipped task command: echo foo when: false - name: Task with var in name ({{ foo }}) command: echo foo - name: Loop task command: echo foo loop: - 1 - 2 - 3 loop_control: label: foo-{{ item }} - block: - name: EXPECTED FAILURE Failed task to be rescued fail: rescue: - name: Rescue task command: echo rescued handlers: - name: Test handler 1 command: echo foo listen: test handlers - name: Test handler 2 command: echo foo changed_when: false listen: test handlers - name: Test handler 3 command: echo foo listen: test handlers # An issue was found previously for tasks in a play using strategy 'free' after # a non-'free' play in the same playbook, so we protect against a regression. - hosts: testhost gather_facts: no strategy: free tasks: - name: First free task command: echo foo - name: Second free task command: echo foo