首页 > 解决方案 > 如何向 AWX docker 添加回调插件

问题描述

从这里安装 AWX docker - https://github.com/ansible/awx。我正在尝试为此处编写的特定项目添加回调插件 - https://docs.ansible.com/ansible-tower/latest/html/administration/tipsandtricks.html#using-callback-plugins-with-tower . 不工作。我添加到 Template-> EXTRA VARIABLES 行

---
bin_ansible_callbacks: true
callback_plugins: /callback_plugins
stdout_callback: selective

不工作。

我将目录添加/var/lib/awx/projects/test/callback_plugins/到 SETTINGS-> JOBS-> ANSIBLE CALLBACK PLUGINS - 它也不起作用。

请告诉我,如何正确地做到这一点,以便另一个(自定义)插件拿起并赚钱。

标签: ansible-awx

解决方案


我发出了同样的问题,在对问题进行了一些调试后,我在 AWX 项目https://github.com/ansible/awx/issues/4149上打开了一个问题

同时,我应用了一种解决方法,包括为您要在角色项目的 callback_plugins 文件夹中使用的每个回调插件创建一个符号链接

例如,如果您使用的是 ara 项目

    - name: Research for callbacks in virtualenv libs
      find:
        path: '{{ ansible_playbook_python|dirname|dirname }}/{{ item }}'
        file_type: file
        depth: 1
        patterns: '*.py'
        excludes: '__init__*'
      register: _internal__callbacks
      with_items:
        - lib/python3.6/site-packages/ara/plugins/callbacks

# TODO : prevent existing callbacks to be overwritten

    - name: Create symlinks from virtualenv lib directory to local callback_plugins/
      file:
        src: '{{ item }}'
        dest: '{{ playbook_dir }}/callback_plugins/{{ item|basename }}'
        state: link
      with_items: "{{ _internal__callbacks.results|map(attribute='files')|flatten|map(attribute='path')|list }}"

推荐阅读