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

Ansible动态清单脚本未被执行的问题排查求助

问题解决:Ansible脚本清单插件拒绝解析自定义脚本

问题现象

自定义Python脚本手动运行完全正常:

python scripts/main.py --list

main.log会正常追加日志,但用ansible-inventory调用时直接失败,脚本完全没被执行(log为空),关键错误提示:

script declined parsing /xxx/scripts/main.py as it did not pass its verify_file() method

核心原因

Ansible的script inventory插件在执行脚本前,会通过verify_file()做前置校验,只有满足要求的脚本才会被执行。你的脚本没通过这个校验,所以直接被跳过了。

解决步骤

  1. 给脚本添加可执行权限
    执行命令赋予脚本执行权限:

    chmod +x scripts/main.py
    
  2. 添加shebang头
    在脚本最顶部添加一行shebang,指定脚本的解释器:

    #!/usr/bin/env python3
    

    这行是让系统明确知道该用哪个Python版本运行脚本,是可执行脚本的必要标识。

  3. 测试脚本独立运行
    不用python前缀直接运行脚本,确认功能正常:

    ./scripts/main.py --list
    

    如果能正常输出Ansible兼容的清单格式,同时main.log写入日志,就说明符合插件要求了。

  4. 重新用Ansible调用
    再次执行命令:

    ansible-inventory -i scripts/main.py --list -vvvv
    

    此时脚本应该会被正常执行,生成正确的清单内容。

内容的提问来源于stack exchange,提问作者E. Jaep

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:55:24