ansible - 运行剧本时出错
问题描述
运行我的第一个剧本时收到错误消息。我创建了一个剧本来在多个主机上应用补丁。
---
- hosts: server01
vars:
jboss_home: /apps/middleware/jboss-eap-7.1
patch_file: patch_url
patch_dest: /apps/middleware/jboss-eap-7.1
patch_version: 7.1.3
tasks:
- name: Copy patch to target host
copy:
src: "{{ patch_file }}"
dest: "{{ patch_dest }}/{{ patch_file }}"
- name: Check applied patches
command: "jboss-cli.sh 'patch history'"
register: result
changed_when: "False"
- name: Apply patch
command: "jboss-cli.sh 'patch apply {{ patch_dest }}/{{ patch_file }}'"
when: patch_version not in result.stdout
输出
致命错误 PLAY [server1] ************************************************ ************************************************ 任务 [收集事实] ************************************************* ****************************************************** ******** ok: [server1] TASK [复制补丁到目标主机] ***************************** ****************************************************** ****************** 任务执行过程中发生异常。要查看完整的回溯,请使用 -vvv。错误是:
/apps/middleware/ansible/environments/dev/jboss/patching/patch_url 致命:[server1]:失败!=> {"changed": false, "msg": "无法找到或访问 'patch_url'\n在以下位置搜索:\n\t/apps/middleware/ansible/environments/dev/jboss/patching/files/patch_url\n \t/apps/middleware/ansible/environments/dev/jboss/patching/patch_url\n\t/apps/middleware/ansible/environments/dev/jboss/patching/files/patch_url\n\t/apps/middleware/ansible /environments/dev/jboss/patching/patch_url"} 重试,使用:--limit @/apps/middleware/ansible/environments/dev/jboss/patching/jboss_patching.retry
解决方案
patch_url
文件应该存在于files
您patching
角色的目录中。如输出中所述,这是copy
模块默认查找它的位置,然后是您角色的根目录。
推荐阅读
- typescript - 如何修复奇怪的字符显示
- java - 如何从 SOAP 消息中读取 WS-Addressing 标头?
- c# - 一段时间内没有收到任何消息时取消注册事件处理器
- ios - 如何在 Xcode 控制台中禁用 Firebase/Analytics 登录?
- python - Python:PYODBC 连接链接错误 08S01
- angular - 如何在 Angular 原理图中使用当前路径
- python - 如何在 pandas 合并期间使用多个 where 条件
- node.js - 如何使用 npm 在本地网络中安装所有节点模块?
- node.js - 将我的 socket.io 从 http 转换为 https 后,我的 javascript 给了我一个奇怪的结果
- angular - 如何删除 Angular 默认警报错误消息