Add changes to succeeded/failed tests to the 2.4 porting guide (#33201)

* Add changes to succeeded/failed tests to the 2.4 porting guide

* Edit for grammar and clarity

(cherry picked from commit 673ec2cb78)
This commit is contained in:
Strahinja Kustudic 2017-11-22 22:14:31 +01:00 committed by Toshio Kuratomi
parent 85fa06713d
commit b0e5e108dd

View file

@ -156,6 +156,31 @@ If you have a template lookup like this::
{{ "name surname" | regex_replace("^[^\\s]+\\s+(.*)", "\\1") }}
Tests
=====
Tests succeeded/failed
-----------------------
Prior to Ansible version 2.4, a task return code of ``rc`` would override a return code of ``failed``. In version 2.4, both ``rc`` and ``failed`` are used to calculate the state of the task. Because of this, test plugins ``succeeded``/``failed``` have also been changed. This means that overriding a task failure with ``failed_when: no`` will result in ``succeeded``/``failed`` returning ``True``/``False``. For example:
- command: /bin/false
register: result
failed_when: no
- debug:
msg: 'This is printed on 2.3'
when: result|failed
- debug:
msg: 'This is printed on 2.4'
when: result|succeeded
- debug:
msg: 'This is always printed'
when: result.rc != 0
As we can see from the example above, in Ansible 2.3 ``succeeded``/``failed`` only checked the value of ``rc``.
Networking
==========