You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible中如何命名Action插件以覆盖FQCN调用的任务?

Ansible Action插件无法拦截FQCN调用的解决方法
  • 问题本质:Ansible默认按模块短名称匹配Action插件,使用FQCN调用模块时,插件若未关联对应命名空间,会被跳过并回退到normal插件。

  • 解决步骤:

    1. 保持Action插件文件名与模块短名称一致(比如jira.py),无需改为FQCN命名或创建子目录。
    2. 在插件代码中添加module_name属性,明确指定要拦截的FQCN模块:
      from ansible.plugins.action import ActionBase
      
      class ActionModule(ActionBase):
          # 关联目标FQCN模块
          module_name = 'community.general.jira'
      
          def run(self, tmp=None, task_vars=None):
              # 你的插件逻辑
              result = super().run(tmp, task_vars)
              # 自定义处理
              return result
      
    3. 将插件放置在action_plugins目录(若为自定义集合,放在集合的plugins/action/路径下)。
  • 验证方式:
    执行 playbook 时添加-v参数,查看输出是否显示加载了你的自定义插件:

    ansible-playbook your_playbook.yml -v
    

    若输出中出现Using action plugin /path/to/your/action_plugins/jira.py,则说明配置生效。

内容的提问来源于stack exchange,提问作者Ryaner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:01:08