首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决Ansible中的"E405:远程包任务应该重试“?

如何解决Ansible中的"E405:远程包任务应该重试“?
EN

DevOps用户
提问于 2018-12-26 00:18:46
回答 2查看 992关注 0票数 7

远程包任务应该有重试包操作是不可靠的,因为它们需要网络通信和远程服务器的可用性。为了减少潜在的问题,应该通过寄存器: my_result和直到: my_result \ success使用重试

当运行ansible-lint时,这会显示为以下错误:

代码语言:javascript
复制
[405] Remote package tasks should have a retry
plays/sample.yml:31
Task/Handler: Install list of packages

给定示例代码:

代码语言:javascript
复制
- name: Install list of packages
  apt:
    name: [jq, vim, curl, unzip, dnsutils]
    state: present

如何解决这个问题?

EN

回答 2

DevOps用户

回答已采纳

发布于 2018-12-27 15:13:55

ansible-lint警告405可能会非常恼人,就像在某些情况下一样,即当运行本地重试不太可能产生任何影响时。实际上,解决这个问题通常只是添加以下内容:

代码语言:javascript
复制
register: task_result
until: task_result is success
retries: 10
delay: 2

当它添加到任务中时,Ansible将在每次重试之间延迟2秒重试10次,直到returncode0为止。

票数 8
EN

DevOps用户

发布于 2019-05-14 05:29:31

代码语言:javascript
复制
pip install --upgrade ansible-lint>=4.1.0

https://github.com/ansible/ansible-lint/issues/456中讨论之后,规则405被删除

票数 0
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/5829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档