问题标签 [ansible-runner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
36 浏览

ansible - 如何为主机使用带有 json 字符串的 ansible-runner

我正在尝试在 python 脚本中使用 ansible-runner。我的主机列表是从数据库动态生成的。我想将此主机列表作为字符串直接传递给 ansible-runner(而不是作为对文件的引用)

这是我的跑步者命令

这是我的库存的样子

这是我的 private_data_dir 结构

ansible-runner 的输出是

如您所见,即使我将 json 字符串传递给 inventory 参数,anisble-runner 仍在尝试从 hosts 文件中读取主机。我已经直接用 ansible 测试了这种 json 格式(通过将 ansible 指向 python 脚本),它工作得很好。

编辑 我刚刚注意到我的inventory/hosts文件中有内容。当 ansible-runner 接收到 json 字符串时,它正在那里写入。然而...

  1. 我仍然收到错误no hosts matched
  2. 如果我再次尝试运行我的脚本,ansible-runner 会给我一个文件权限被拒绝错误,inventory/hosts因为它仍然锁定文件。如何让 ansible-runner 放弃该锁?这可能是由于问题 1 造成的no hosts matched,但这是正常的运行状态,我原以为 ansible-runner 可以处理并干净地关闭。
0 投票
0 回答
56 浏览

python - Azure Functions 中的 Python 脚本子目录路径

我目前有一个包含 python 脚本和 azure 函数文件的 python 项目。这是项目的结构:

蟒蛇脚本:

Azure 函数初始化.py 文件:

整个项目使用azure管道进行部署,成功完成了构建和发布管道。但是,脚本无法执行。我已经让脚本独立执行以确认它有效。

我的困惑是如何在 Azure 函数中配置 playbook.yml 和 hosts 文件的路径。我无法在 azure 函数中调试以查看任何可能有用的错误。

如何在 Azure 函数中设置此路径?以下路径显然在本地工作:

我对 Azure 功能很陌生,但我相信正确设置路径可能是解决此问题的方法。我不确定我错过了什么。

我已使用以下链接作为参考: https ://docs.ansible.com/ansible/latest/dev_guide/developing_api.html

https://ansible-runner.readthedocs.io/en/latest/python_interface/

使用 Python API 运行 ansible-playbook