我有很多机器上运行的ansible playbook.在该剧本中,我有一些我试图使用apt安装的软件包,但偶尔它们会失败,要么是因为其他的playbooks正在运行,要么是定期更新,要么是并行运行的任何其他apt实例并抓住锁.

我基本上想在放弃之前添加一个重试循环但是没有这样做,因为apt不支持重试,显然:我在ansible’s documentation中查看了apt模块页面,甚至试图实际使用它,即使它不存在(这明显失败了).

无论如何 – 我需要一个关于如何获得ansible重试的想法,让我们说3次,延迟30秒,但仅限于安装包的失败.

有通用 task results tests,所以你可以使用:
- apt:
    name: build-essential
    state: present
  register: apt_res
  retries: 5
  until: apt_res | success

ubuntu – 如果失败,我如何强制ansible重试’apt’任务?的更多相关文章

  1. 让Android Studio,Gradle和Android Annotations协同工作

    解决方法尝试从项目根目录运行gradlewcleanbuild.然后在设备上运行之前尝试制作项目.应该没事.

  2. android – 无法使用Butterknife 8.1.0注入视图

    我想在我的项目中使用Butterknife.如Here所述,我像这样设置了Butterknife.在项目级别模块中:在模块级别内部活动但是,当我运行我的应用程序时,我收到以下错误消息.谁能告诉我在这里缺少什么?解决方法好的,这是一个小错误.我在gradle文件中使用了不同的版本.现在当我改变版本时它正常工作.因此会出现一些版本冲突.

  3. APT 注解处理器实现 Lombok 常用注解功能详解

    这篇文章主要为大家介绍了使用APT 注解处理器实现 Lombok 常用注解功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. Android APT 实现控件注入框架SqInject的示例

    这篇文章主要介绍了Android APT 实现控件注入框架SqInject的示例,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下

  5. 无法使用rm删除一个文件夹中的多个文件夹(3个文件夹除外)

    我正在尝试使用rm删除文件夹中的所有文件夹,除了2和3。但是,命令不起作用,出现以下错误尝试使用转义符,但不会删除文件夹。有什么解决方案吗?

  6. 如何从playbook更新Ansible库存文件

    我有一个剧本,通过它我可以在GCP上成功创建VM,但我不知道如何检索它的私有ip并通过剧本将其添加到库存文件中。我有什么办法可以做到吗?在此方面的任何帮助都将不胜感激

  7. 如何在set_fact ansible中打印最后一个递增的值?

    我在剧本中输入一个文件,如果它在文件中找到诸如open或allowed之类的关键字,我会要求它将变量dbsuccesscount增加到1。增量成功地工作如下然而,我想打印dbsuccesscount中的最后一个值,即107。当我在下面跑时,它不起作用调试:var:dbsuccesscount

  8. 使用Ansible在Windows上执行.exe

    我们希望在带有Ansible1.8.2的WindowsServer2012上部署应用程序.我搜索并找到了alist个Windows模块.是否有执行.exe的模块?有人已经在Windows上使用Ansible启动了.exe吗?

  9. centos – Ansible Playbook:确保进程在群集的任何一个节点上运行?

    Ansible使得确保每个主机上都运行进程变得非常容易.我可以这样做:但是,我需要在整个群集中只有一个特定进程的实例.IE浏览器.它可以在任何主机上运行,只要它在某个地方运行,只要集群中只有一个这样的进程.可以在ansibleplaybook中有一个方便的方法吗?

  10. 可以通过Ansible更新系统CentOS

    我正在尝试用可以更新的CentOS系统.不幸的是,我无法做到这一点.我已经尝试过:不工作最后的任务是有效的,但它是否正确,任务是否更新系统?第一个任务是告诉系统只更新yum缓存.在第二个方面,您通过使用state=latest可以有效地将所有软件包升级到最新版本,但您也应该在同一任务中使用update_cache=yes,以确保您使用其最新软件包信息刷新缓存.yummodule文档提供了这个例子:执行任务后,终端应显示黄色消息,表示任务状态发生变化.

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部