python - 调试 ansible-playbook 失败
问题描述
我对 Python 不是很新,对 VSC(最近迁移到 MacOS)相当新,对 Ansible 也很新。我正在尝试构建一个插件来规避我们奇怪的跳转主机(到目前为止,故事很长,很伤心)。一个非常简单的步骤可以解决这个问题,但是,在尝试找到该步骤的位置时,我想对 ansible-playbook python 脚本及其附带的所有内容进行完整调试。我通过 anaconda 使用 1.29.1 Visual Studio Code、Ansible 2.7.0、Python 3.6.4。
我想做什么:
我在 launch.json 中创建了一个配置文件:
{
"name": "Python: Ansible playbook",
"type": "python",
"request": "launch",
"program": "${file}",
"args": [
"--inventory=/full_path/inventory.ans",
"/full_path/test-playbook.yml"
],
}...
这使我能够启动调试。我尝试过没有任何断点 - 它与我在命令行中运行它时的点相同。关于参数的简短说明:.ans 文件是明确指定的 Ansible 存储库(以覆盖默认配置),另一个是实际的剧本。两者的内容都不起作用,我尝试了其他脚本的参数 - 它们被接受了......
我已经添加了:
- ansible-playbook 文件中任何点的断点 - 虽然它停在那里(在调用堆栈窗口中的断点处暂停),但我在左窗格中看不到任何变量或任何东西。此外,我只有暂停、重新启动和停止调试的选项。
- 如果我添加一个在开始时中断的选项,我的行为完全相同。我已经下载了 PyCharm 并在那里做了类似的事情,我可以选择逐步进行,查看变量等等。
任何帮助/方向表示赞赏。
如果我尝试调试我的其他 Python 脚本,它会按预期工作,我得到黄色指针,我可以跳过步骤。主要区别在于我的脚本中确实有一个 .py 扩展名,并且我使用了非常简单的面向对象元素,甚至与 Ansible 中的元素不一样......
解决方案
推荐阅读
- apache-spark - Spark中的K折目标编码
- reactjs - 没有它 React.forwardRef 已经是可能的了,那它有什么用呢?
- null - Null : AssertionConsumerService => saml2AuthnResponse.CreateSession 期间的对象引用
- scala - 为什么Scala PartialFunction isDefinedAt 方法总是返回true?
- alpine.js - 使用 Alpine.js 和 new FormData() 返回提交的 POST 数据
- c# - 我怎样才能捕捉到不存在的路线的 404?
- multithreading - 服务器发送事件是否会强制 Netty 持有相同的线程,直到流关闭?
- ruby-on-rails - 捆绑器版本错误?
- c++ - 我怎样才能每个 dylib 有一个单例?
- cluster-analysis - Weka 中的聚类