Fix any_errors_fatal in meta tasks (#36870)

This commit is contained in:
Martin Krizek
2018-05-24 04:03:31 +02:00
committed by Adam Miller
parent eb992920a2
commit 0eece38cdf
3 changed files with 36 additions and 1 deletions

View File

@@ -57,3 +57,9 @@ grep -q "ERROR! The requested handler 'notify_inexistent_handler' was not found
# Notify inexistent handlers without errors when ANSIBLE_ERROR_ON_MISSING_HANDLER=false
ANSIBLE_ERROR_ON_MISSING_HANDLER=false ansible-playbook test_handlers_inexistent_notify.yml -i inventory.handlers -v "$@"
# https://github.com/ansible/ansible/issues/36649
output_dir=/tmp
set +e
result="$(ansible-playbook test_handlers_any_errors_fatal.yml -e output_dir=$output_dir -i inventory.handlers -v "$@" 2>&1)"
set -e
[ ! -f $output_dir/should_not_exist_B ] || (rm -f $output_dir/should_not_exist_B && exit 1)

View File

@@ -0,0 +1,25 @@
- hosts:
- A
- B
gather_facts: no
any_errors_fatal: yes
connection: local
vars:
output_dir: /tmp
tasks:
- name: Task one
debug:
msg: 'task 1'
changed_when: yes
notify: EXPECTED FAILURE failed_handler
- meta: flush_handlers
- name: This task should never happen
file:
path: "{{ output_dir }}/should_not_exist_{{ inventory_hostname }}"
state: touch
handlers:
- name: EXPECTED FAILURE failed_handler
fail:
when: 'inventory_hostname == "A"'