Hi
On 05.08.19 18:58, Mohtashim S wrote:
> Ansible any_errors_fatal module does not work as expected. Below is my
> ansible playbook which is expected to terminate execution as soon as it
> encounters the first error.
your expectation is wrong. Ansible would execute any task following on
any host. E.g:
---
- hosts: all
any_errors_fatal: True
tasks:
- debug:
msg: 'Pseudo Error'
failed_when: inventory_hostname == 'abc'
- debug:
msg: 'This runs nowhere'
Execution:
PLAY [all] ***********************************
TASK [Gathering Facts] ***********************
ok: [abc]
ok: [def]
TASK [debug] *********************************
fatal: [abc]: FAILED! => {
"msg": "Pseudo Error"
}
ok: [def] => {
"msg": "Pseudo Error"
}
NO MORE HOSTS LEFT ***************************
PLAY RECAP ***********************************
abc : ok=1 changed=0 unreachable=0 failed=1 skipped=0
rescued=0 ignored=0
def : ok=2 changed=0 unreachable=0 failed=0 skipped=0
rescued=0 ignored=0
---
You could try something like this:
---
- hosts: localhost
vars:
dirs:
- /tmp/foo
- /tmp/foo/bar
- /tmp/foo/baz/bar
- /tmp/foo/bar/baz
- /tmp/foo/abc
tasks:
- command: "mkdir {{ item }}"
args:
warn: no
register: cmd_result
with_items:
- "{{ dirs }}"
when:
- not cmd_result is defined or not cmd_result['failed']
Execution:
PLAY [localhost] *****************************
TASK [Gathering Facts] ***********************
ok: [localhost]
TASK [command] *******************************
changed: [localhost] => (item=/tmp/foo)
changed: [localhost] => (item=/tmp/foo/bar)
failed: [localhost] (item=/tmp/foo/baz/bar) => {"ansible_loop_var":
"item", "changed": true, "cmd": ["mkdir", "/tmp/foo/baz/bar"], "delta":
"0:00:00.001926", "end": "2019-08-05 19:30:32.876289", "item":
"/tmp/foo/baz/bar", "msg": "non-zero return code", "rc": 1, "start":
"2019-08-05 19:30:32.874363", "stderr": "mkdir: cannot create directory
‘/tmp/foo/baz/bar’: No such file or directory", "stderr_lines": ["mkdir:
cannot create directory ‘/tmp/foo/baz/bar’: No such file or directory"],
"stdout": "", "stdout_lines": []}
skipping: [localhost] => (item=/tmp/foo/bar/baz)
skipping: [localhost] => (item=/tmp/foo/abc)
PLAY RECAP ************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0
rescued=0 ignored=0
Sebastian
--
Sebastian Meyer
Linux Consultant & Trainer
Mail: [email protected]
B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537
-- Deutsche OpenStack Tage 2019 -- 10% Rabatt auf den Ticketpreis ----
------------------------ https://openstack-tage.de (Code DOST-B1) ----
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/d2dcd344-046f-4920-42fd-63aaaf2de29d%40b1-systems.de.