运行 playbook EC2 库存时收到 python 警告

M.F*_*ord 8 ansible ansible-inventory

我对 Ansible 非常陌生,我讨厌在运行剧本时收到警告。这个环境正在用于我的教育。

环境:

  • AWS EC2
  • 4 乌班图 20
  • 3 个 Amazon Linux2 主机

存货

  • 使用动态清单脚本

剧本

  • 只需对所有主机运行一个简单的 ping 操作即可。我想测试库存

警告

我尝试过的事情

  • 更新了主机上的所有符号链接以指向 python3 版本
  • 将行“ansible_python_interpreter = /usr/bin/python”添加到“/etc/ansible/ansible.cfg”
  • 我依赖那个 cfg 文件

我想知道如何解决这个问题。由于我没有运行静态清单,因此我认为我无法在每个主机或主机组上指定一个解释器。当剧本运行时,似乎有些东西配置不正确,我想对其进行排序。这仅存在于 Amazon Linux 实例上。Ubuntu 实例很好。

迈克尔

iko*_*ora 6

您可以编辑 ansible.cfg 并设置 auto_silent 模式:

interpreter_python=auto_silent  
Run Code Online (Sandbox Code Playgroud)

在此处检查参考: https ://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html


M.F*_*ord 5

谢谢。我确实找到了另一条可行的路线,尽管我确信您建议的路线也可行。

我使用了错误的配置条目。我正在使用

ansible_python_interpreter = /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

当我应该使用时

interpreter_python = /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

在每个主机上,我确保 /usr/bin/python 符号链接指向并且版本正确。

根据文档

  • 对于单个主机和组,使用 ansible_python_interpreter 库存变量
  • 在全局范围内,使用 ansible.cfg 的 [defaults] 部分中的terpreter_python 键

问候,迈克尔。