我写了一部剧本,将文件从源复制到多个主机上的目标。如果所有主机均可访问,则剧本可以正常运行,但如果其中一台主机无法访问,则不会失败。
ansible-playbook -i "10.11.12.13,10.11.12.14," -e "hostid=12345" test.yml
,例如如果无法访问主机“ 10.11.12.13”,则任务执行将跳过不可达的主机并移至下一个主机。
示例剧本
- hosts: localhost
gather_facts: no
tasks:
- debug: msg="backup_restore.py file not found"
- name: Copy file
hosts: all
remote_user: test
gather_facts: no
vars:
srcFolder: "/home/test"
destFolder: "/opt/config"
tasks:
- block:
- name: Copy file to node
copy:
src: '{{srcFolder}}/self.config'
dest: '{{destFolder}}/self.config'
如果无法访问任何主机,是否有办法使任务失败。我正在使用ansible 2.6.1。预先谢谢你。
答案 0 :(得分:0)
暴力解决方案是any_errors_fatal
!important
其他选项的概述在Abort execution of remaining task if certain condition is failed中。