gpt4 book ai didi

python - Ansible 是否公开其自动发现的 Python 解释器?

转载 作者:行者123 更新时间:2023-12-03 16:20:46 26 4
gpt4 key购买 nike

tl;dr:Ansible 是否有包含当前 Python 解释器的变量?
作为我的剧本的一部分,我正在 Controller 上创建一个 Python 脚本(由另一个命令运行),并且我希望该脚本由 Ansible 使用的 Python 解释器运行。为此,我试图在脚本的 shebang 中设置解释器。
如果我手动设置解释器,我可以使用 ansible_python_interpreter变量(我已经让它以这种方式工作)。如果我不手动设置解释器,那么 Ansible 会自动发现一个解释器,但我不能再使用 ansible_python_interpreter变量,因为它没有设置。
通过查看文档,我无法找到任何方法来查看 Ansible 自动检测到的解释器。有什么我错过了吗?
(Ansible 版本 2.9.10,Python 3.6)

完整情况:
我在 AWX(开源 Ansible Tower)上运行 Ansible,使用自定义虚拟环境作为运行器。我使用 Hashicorp Vault 作为 secret 管理系统,而不是在 AWX 中保密。为了访问 Vault,我使用了短期访问 token ,这与 AWX 对从 Vault 中提取 secret 的内置支持不兼容,所以我手动进行(以便我可以在作业启动时提供 Vault token ) .一般来说,这对我来说效果很好。
在这种特殊情况下,我正在运行 ansible-vault (是的, Controller 上有太多称为“保险库”的东西)来解密 secret 。我正在使用 --vault-password-file通过脚本提供解密密码的参数。由于我使用的虚拟环境已经有 hvac安装包后,我希望只使用一个简短的 Python 脚本从 Hashicorp Vault 中提取密码。一切正常,除了我不知道如何在这个脚本上设置 shebang 以指向 Ansible 正在使用的虚拟环境。
如果我无法得到一个可用的答案,我想我可以改为直接将密码拉入 Ansible,然后使用 --ask-vault-pass标志以这种方式传递密码。在我看来,Ansible 确实应该在某个地方公开解释器,所以我首先尝试这样做。

最佳答案

Special Variables 中所述ansible_playbook_python变量保存 Ansible 在 Controller 上使用的 python 解释器的路径。

关于python - Ansible 是否公开其自动发现的 Python 解释器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63023699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com