有没有人有使用Ansible playbook选项的经验:塔中的max_fail_percentage?
我目前正在使用此选项,因此只要不超过50%的主机出现故障,我的配置攻略就可以继续。例如,有两个主机,如果一个通过了,一个失败了,尽管失败了,游戏仍将继续,并将一直运行到完成。我已经测试了这个功能,它正在工作。
出乎意料的是,即使一半的主机失败了,游戏一直运行到最后,Ansible to也会将整个游戏标记为失败……这对我来说是一个问题,因为当游戏完成时,我会根据总体成功/失败状态发送通知。
这是预期的行为吗?有没有人知道我如何改变这种行为,并将游戏标记为成功?
播放重述*********************************************************************
HOST1 : ok=25 changed=0 unreachable=0 failed=2 skipped=8
本地主机: ok=4 changed=2 unreachable=0 failed=0 skipped=0
HOST2 : ok=23 changed=2 unreachable=0 failed=0 skipped=8
发布于 2021-11-16 04:40:30
这是预期的行为,因为您的一个主机出现故障。其余主机结束是正常行为(max_fail_percentage允许您提前结束游戏,它不会阻止游戏结束),然后塔看到一些事情失败,因此它将游戏标记为失败。
据我所知,唯一能清除错误的就是使用rescue。这可能不适用于塔,因为任务在技术上仍然是失败的,但它值得一试。
- hosts: localhost
gather_facts: false
tasks:
- block:
- assert:
that:
- inventory_hostname.startswith('s')
rescue:
- debug:
msg: It's all goodPLAY [localhost] ***************************************************************
TASK [assert] ******************************************************************
fatal: [localhost]: FAILED! => {
"assertion": "inventory_hostname.startswith('s')",
"changed": false,
"evaluated_to": false,
"msg": "Assertion failed"
}
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "It's all good"
}
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=1 ignored=0 https://stackoverflow.com/questions/69983702
复制相似问题