是否有可能在连接失败时重置Ansible?

Pet*_*etr 13 ansible ansible-2.x

我正面临着这个令人讨厌的错误:Ansible主机随机无法访问#18188 .

有没有办法告诉Ansible如果SSH连接失败,再试一次?还是2倍多?

根据这篇文章新的SSH重试在Ansible 2.0?有"重试"选项,但它对我来说似乎不值得信任,发布的人甚至没有获得SSH标题,并且在Ansible文档中没有提到这一点.

tec*_*raf 15

是的,可以使用您在问题中引用的方法,即将以下参数放入ansible.cfg:

[ssh_connection]
retries=2
Run Code Online (Sandbox Code Playgroud)

  • 你为什么问我?如果你认为它应该是,那么写下它并提交一个拉取请求. (9认同)
  • 也可以定义环境变量 [ANSIBLE_SSH_RETRIES](http://docs.ansible.com/ansible/latest/reference_appendices/config.html?highlight=retry#envvar-ANSIBLE_SSH_RETRIES) (5认同)
  • 请注意,在 [ssh_connection] 部分设置重试将*重试特定的 ssh 命令*,而不是 ansible 步骤。许多 ansible 模块命令是作为一系列 ssh 命令实现的。如果在这些步骤中间出现连接错误,ansible 将重试上次执行的 SSH 命令。根据该步骤的作用,它可能不是幂等的,并且您可能会收到诸如“没有这样的文件:/home/me/.ansible/tmp/abcdef”之类的错误。在连接错误时让 ansible 重试整个步骤(使用所有 ssh 子命令)会很好。 (2认同)