播放失败会阻止后续“localhost”播放的执行

播放失败会阻止后续“localhost”播放的执行

我编写了以下剧本。我预计第二个剧本会出现错误,但第一个和第三个剧本会运行。我得到的结果是第一个剧本运行,第二个剧本失败,第三个剧本完全被忽略。

如果我使第二次播放成功,那么第三次播放就会成功。

即使第二个播放失败,我怎样才能执行第三个播放?

- name: First local task
  hosts: localhost
  tasks:
  - add_host:
      name: dummy.example.com
      groups: test

- name: Failing remote host
  hosts: test
  tasks:
    - debug:
        msg: 'test'

- name: "This one should run too?"
  hosts: localhost
  tasks:
    - debug:
        msg: 'success!'

答案1

您没有在问题中指定确切的错误。但是,通常您可以添加ignore_errors: yes到第二个任务以继续执行第三个任务,即使出现错误。如果错误是您的主机“测试”无法访问,那么您必须使用ignore_unreachable: yes如下所示的方法:

- name: First local task
  hosts: localhost
  tasks:
  - add_host:
      name: dummy.example.com
      groups: test

- name: Failing remote host
  hosts: test
  tasks:
    - debug:
        msg: 'test'
  ignore_unreachable: yes

- name: "This one should run too?"
  hosts: localhost
  tasks:
    - debug:
        msg: 'success!'

相关内容