【问题标题】:Ansible - retry failed iterations in a loopAnsible - 在循环中重试失败的迭代
【发布时间】:2022-01-22 15:43:25
【问题描述】:

我有一个需要删除的实体列表,但如果我迭代循环太快,删除可能会失败,因为该操作只能连续完成,并且在删除之间需要大约 10 秒。所以,我正在这样做

- name:  Loop through removing all hosts
  shell: "echo yes | gravity remove --force {{ item }}"
  loop: "{{ result.stdout_lines }}"
  loop_control:
    pause: 12

这通常可以正常工作,但是当 12 秒不够时,我偶尔可能会收到错误消息。我不想增加暂停,所以我想弄清楚如何测试和重试任何失败。

如果单个节点发生故障,则可以进行简单的额外暂停并重试。知道我该怎么做吗?

【问题讨论】:

    标签: loops ansible


    【解决方案1】:

    呃!我最初尝试了直到,但愚蠢地忘记了注册 var,所以它不起作用,但现在可以了

    - name:  Loop through removing all hosts
      shell: "echo yes | gravity remove --force {{ item }}"
      register: result
      loop: "{{ file_list.stdout_lines }}"
      loop_control:
        pause: 12
      retries: 2
      delay: 12
      until: result is not failed
    

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 2018-11-21
      相关资源
      最近更新 更多