已简化了Playbook,以便快速理解。
---
- hosts: web_host
remote_user: someuser
connection: ssh
ignore_errors: yes
vars:
date: "{{ lookup('pipe', 'date +%Y%m%d) }}"
gather_facts: no
# gather_subset: "!all,!min"
tasks:
- name: 1 | Collect all remote servers statistics
script: /home/raman/ansible/playbooks/monitoring/mon_sys.bash
register: CPU_Mem_Service
tags:
- CPU_Mem_Service_TAG
args:
executable: /bin/bash
ignore_errors: yes
所有远程主机都在RHEL6.10上
剧本中使用的脚本具有df -h
命令。
这本剧本可以正常运行,直到无法运行为止。
有时,这本剧本挂在一台远程主机上。此“一个”远程主机是随机的。经过检查,通过亲自登录到挂起的远程主机,我发现df
命令挂在该主机上。由于NFS挂载过时/死机。
Ansible剧本是否有办法跳过并继续前进,而不会无限期地停留在同一主机上?
有什么建议吗?
答案 0 :(得分:0)
使用异步和轮询。
异步任务将一直运行,直到根据其异步值完成,失败或超时为止。
当poll为正值时(如果未指定,默认值为15),剧本仍会阻塞任务,直到任务完成,失败或超时。
当poll为0时,Ansible将启动任务并立即继续进行下一个任务,而无需等待结果。