我在许多机器上运行了ansible
个剧本。在该剧本中,我有一些我试图使用apt
安装的软件包,但偶尔会失败,因为其他的Playbooks正在运行,定期更新或任何其他apt
实例并行运行并抓住锁。
我基本上想要在放弃之前添加重试循环,但由于apt
不支持重试,因此无法执行此操作,显然:我查看了ansible's documentation中的apt module
页面,甚至试图实际使用它,即使它不存在(显然失败了)。
无论如何 - 我需要一个关于如何让ansible重试的想法,让我们说3次,延迟30秒,但仅限于安装软件包的失败。
答案 0 :(得分:11)
有通用task results tests,因此您可以使用:
- apt:
name: build-essential
state: present
register: apt_res
retries: 5
until: apt_res is success
until: apt_res | success