Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 未找到Ansible Python API插件_Python 3.x_Ansible - Fatal编程技术网

Python 3.x 未找到Ansible Python API插件

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

我一直在尝试使用Ansible Python API,正如他们在文章中所解释的那样。问题是,当我调用main()时,Ansible返回一个错误:

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回调更改为适合您的需要。这里有一些信息。另见此答案: