Hello all,
I am currently poking my way through the core Ansible code trying
to figure out how best to implement a "--verify-failure" feature, what
I mean by that is there would be an option to run playbooks
interactively such that in the event a failure happened you were
presented with a set of options on how you wanted to handle that. I've
mocked up some output on what it would look like (note: I'm by no
stretch married to the arg name of "--verify-failure" but that's my
working title).
ansible-playbook myplaybook.yml -i inventory.txt -u root --verify-failure
PLAY [all]
A few random thoughts:
(A) the “blocks” thing we want to do (try/except/etc) gets very close to the error handling capabilities you want above
(B) we need to do some refactoring to get to the point where A is attainable, and that’s started recently
(C) I’m not sure about going interactive and what that means for things calling Ansible from Jenkins, as well as for things like Tower.
I think we should probably discourage interactivity and instead have the block specify what to do on error.
I would definitely discourage running things against the Runner API as we’ve more recently decided it’s not going to be stable, it mainly exists to serve to power /usr/bin/ansible-*, while we are committed to maintaining module and plugin level compatibility, the Runner() API is going to be going through some major changes.