含async任务的Ansible作业无报错失败,未出现预期失败信息求助
问题
包含async任务的Ansible作业执行失败,但作业输出无任何错误信息,仅显示:
FAILED - RETRYING: [server_fqdn]: wait for async job to end (660 retries left).
重新运行作业后,也未出现预期的失败提示信息。
排查与解决方法
- 检查
async_status模块的使用:确保异步任务执行后,通过async_status模块获取任务状态并注册结果,示例配置如下:
此配置可捕获任务的具体失败原因。- name: 执行异步任务 command: some_long_running_command async: 3600 poll: 0 register: async_job - name: 等待异步任务完成 async_status: jid: "{{ async_job.ansible_job_id }}" register: async_result until: async_result.finished retries: 660 delay: 10 - name: 打印异步任务结果详情 debug: var: async_result - 查看目标节点临时日志:登录
server_fqdn节点,检查/tmp目录下的Ansible临时文件(命名格式通常为ansible-tmp-*),文件内会记录异步任务的执行细节与错误信息。 - 启用verbose模式:重新运行作业时添加
-vvv参数,强制输出更详细的执行过程,涵盖异步任务的状态变化与潜在错误。 - 验证超时设置:确认
async参数的时间是否足够任务完成,若任务实际执行时长超过async设定值,会触发重试但可能不暴露具体错误,需调整async数值或优化任务执行效率。
内容的提问来源于stack exchange,提问作者Aman Anand
相关产品推荐
相关产品推荐

