Python 3.x 未找到Ansible Python API插件
我一直在尝试使用Ansible Python API,正如他们在文章中所解释的那样。问题是,当我调用main()时,Ansible返回一个错误:Python 3.x 未找到Ansible Python API插件,python-3.x,ansible,Python 3.x,Ansible,我一直在尝试使用Ansible Python API,正如他们在文章中所解释的那样。问题是,当我调用main()时,Ansible返回一个错误: the connection plugin '<class 'ansible.utils.sentinel.Sentinel'>' was not found 未找到连接插件“” 我正在运行ansible base 2.10.8版 这件事我已经坚持了两天了。我在Ansible看到有人有同样的问题,看起来他们甚至不支持自己的Python
the connection plugin '<class 'ansible.utils.sentinel.Sentinel'>' was not found
未找到连接插件“”
我正在运行ansible base 2.10.8版
这件事我已经坚持了两天了。我在Ansible看到有人有同样的问题,看起来他们甚至不支持自己的Python API
有人能建议我如何解决这个问题吗?我解决了我的问题,但它花了我几天的时间和大量的调试。出于我将不在这里讨论的原因(我的技术主管强迫我),我不得不使用这个API我建议不要在Ansible开发之外使用它。这通常是一种耗时且糟糕的体验 此错误掩盖了真正的问题。如果您看到此异常,则表示在其他地方发生了故障。它通常位于
任务执行器.py
内。检查代码,确保没有输入错误,并且提供了所有参数。Python API似乎缺少正确的异常处理,因此异常消息有些混乱
对我来说,这是因为我没有为
context.CLIARGS
提供verbosity
参数,Ansible文档中提供的简短示例中也缺少该参数。在您在第一段链接的文档顶部的注释中,他们似乎不支持自己的Python API
=>API旨在供内部使用。Ansible可以随时对此API进行更改,这可能会破坏与旧版本API的向后兼容性。因此,Ansible不支持外部使用,因为您要求提供一个建议:不要在外部项目中使用Ansible内部python API。是的。我意识到了这一点,并尝试先与ansible runner合作。但是,ansible runner返回一组嵌套字典,其标准输出键中包含ansible结果。这不正是我需要的。这是否意味着使用实际的API是没有希望的?是的,我已经尝试了ansible runner解决方案。好吧,这就是我的想法:我们遇到了X/Y问题。将stdout回调更改为适合您的需要。这里有一些信息。另见此答案: