如何使ansible任务输出行`failed: [server]`

问题描述 投票:0回答:1

失败的 Ansible 任务可以有两种日志行:

failed: [server] ...

fatal: [server] ...

然而,我非常努力地尝试模拟一种可以有

failed:
的情况,但没有任何运气:

  • 致电
    /bin/false
  • 致电
    exit 1
  • 使用
    ansible.builtin.fail

全部输出

fatal:

知道为什么某些任务有

failed:
吗?

ansible
1个回答
0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.