失败的 Ansible 任务可以有两种日志行:
failed: [server] ...
或
fatal: [server] ...
然而,我非常努力地尝试模拟一种可以有
failed:
的情况,但没有任何运气:
/bin/false
exit 1
ansible.builtin.fail
全部输出
fatal:
知道为什么某些任务有
failed:
吗?
failed: [server]
仅发生在非常特殊的情况下:当循环的一项产生失败状态时,正如您从v2_runner_item_on_failed
回调插件default
方法的这一行中看到的那样:
msg = "failed: [%s]" % (host_label,)
来源:lib/ansible/plugins/callback/default.py
因此,为了创建
failed: [server]
,您需要处于loop
中,例如任务:
- ansible.builtin.fail:
when: true
loop: [~]
将会产生
failed: [localhost] (item=None) => changed=false
ansible_loop_var: item
item: null
msg: Failed as requested from task