Feature RFC: allow task failures to trigger non-zero exit codes

+1 Having an option for ansible to return an exit code if a task fails would be good for us. We also have automated ansible scripts and rely on exit codes to know if the ansible commands worked or not.

I think of ansible as being great tool to run a users tasks. From this user centric point of view when a task fails the whole process has failed, even if technically ansible itself hasn’t actually failed. I do care if ansible fails, and also care if one of my tasks fails.

The current ansible return code setup feels like a browser not showing me an error response because it handled the web servers error correctly.

Currently, to get a non zero exit code on ansible task failures I pipe the ansible output into perl:

ansible-playbook | perl -pe ‘END { exit $status } $status=1 if /FAILED:|Failed:/;’

Cheers

Mike

+1 here; having ansible-playbook return a 0 exit code when tasks fail make automating with a CI server more difficult then it has to be.

+1 here; having ansible-playbook return a 0 exit code when tasks fail
make automating with a CI server more difficult then it has to be.

Do you have an example of this behavior? I feel like Ansible generally
exits non-zero if a task fails. This playbook, for example:

  - hosts: host1
    gather_facts: False
    tasks:
      - command: touch /tmp/exit-code-test

  - hosts: host1:host2
    gather_facts: False
    tasks:
      - command: rm /tmp/exit-code-test

The rm fails on host2, where the file doesn't exist, and ansible-playbook
exits non-zero.

Similarly:

  ansible host1 -a 'rm /tmp/exit-code-test'

(when the file doesn't exist) exits non-zero.

                                      -Josh (jbs@care.com)

(apologies for the automatic corporate disclaimer that follows)

This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.