Ubuntu 如何强制ansible重试';apt&x27;如果任务失败了?

Ubuntu 如何强制ansible重试';apt&x27;如果任务失败了?,ubuntu,ansible,apt,Ubuntu,Ansible,Apt,我有一个ansibleplaybook在许多机器上运行。在该剧本中,我尝试使用apt安装一些软件包,但偶尔会失败,原因可能是其他剧本正在运行、定期更新或任何其他apt实例并行运行并锁定 我基本上想在放弃之前添加一个重试循环,但由于apt不支持重试,所以我没有这样做,显然:我查看了中的apt模块页面,甚至尝试实际使用它,尽管它不在那里(显然失败了) 无论如何-我需要一个如何让ansible重试3次的想法,30秒的延迟,但只有在安装包失败的情况下 有通用的,因此您可以使用: - apt: n

我有一个
ansible
playbook在许多机器上运行。在该剧本中,我尝试使用
apt
安装一些软件包,但偶尔会失败,原因可能是其他剧本正在运行、定期更新或任何其他
apt
实例并行运行并锁定

我基本上想在放弃之前添加一个重试循环,但由于
apt
不支持重试,所以我没有这样做,显然:我查看了中的
apt模块
页面,甚至尝试实际使用它,尽管它不在那里(显然失败了)

无论如何-我需要一个如何让ansible重试3次的想法,30秒的延迟,但只有在安装包失败的情况下

有通用的,因此您可以使用:

- apt:
    name: build-essential
    state: present
  register: apt_res
  retries: 5
  until: apt_res is success


添加数据:我找到了一种在apt上进行重试和延迟的方法(缩进中遗漏了2个空格),但我仍然遗漏了如何知道apt成功的部分。我认为检查rc是否为0就足够了,但事实并非如此。我能指望stderr是空的吗?
until: apt_res | success