问题标签 [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.
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 字符串时,它正在那里写入。然而...
- 我仍然收到错误
no hosts matched
- 如果我再次尝试运行我的脚本,ansible-runner 会给我一个文件权限被拒绝错误,
inventory/hosts
因为它仍然锁定文件。如何让 ansible-runner 放弃该锁?这可能是由于问题 1 造成的no hosts matched
,但这是正常的运行状态,我原以为 ansible-runner 可以处理并干净地关闭。
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/