首页 > 解决方案 > 运行剧本时出错

问题描述

运行我的第一个剧本时收到错误消息。我创建了一个剧本来在多个主机上应用补丁。

---
- 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

标签: ansible

解决方案


patch_url文件应该存在于filespatching角色的目录中。如输出中所述,这是copy模块默认查找它的位置,然后是您角色的根目录。


推荐阅读