在无法修改配置文件与Playbook的情况下,如何禁用Ansible Playbook测试运行时的弃用警告?
禁用Ansible弃用警告(无需修改Playbook或配置文件)
首先得明确:你尝试用-e "deprecation_warnings": false不生效,是因为deprecation_warnings是Ansible的核心配置参数,不是Playbook级别的变量——extra-vars只负责传递给Playbook使用的变量,没法控制Ansible本身的运行配置。
下面是完全符合你限制条件的解决方案:
1. 本地命令行运行时禁用
直接通过环境变量设置,Ansible允许通过环境变量覆盖绝大多数配置参数,对应deprecation_warnings的环境变量是ANSIBLE_DEPRECATION_WARNINGS。运行Playbook时只需在命令前加上这个环境变量:
ANSIBLE_DEPRECATION_WARNINGS=False ansible-playbook your-target-playbook.yml
这个方法不需要修改任何文件,也不需要访问ansible.cfg,完美适配你的需求。
2. 在Ansible AWX/Tower中禁用
AWX里没法直接在命令行加环境变量,但可以通过作业模板的额外环境变量配置实现:
- 打开你要运行的作业模板,切换到「高级」选项卡
- 找到「Extra Environment Variables」(额外环境变量)区域
- 添加键值对:
ANSIBLE_DEPRECATION_WARNINGS: False - 保存模板后重新运行作业,弃用警告就会被禁用
针对特定Python解释器警告的补充方案
如果你只想消除你提到的那个Ubuntu 18.04 Python解释器警告,而不是禁用所有弃用警告,还可以单独指定Python解释器的环境变量:
# 本地运行 ANSIBLE_PYTHON_INTERPRETER=/usr/bin/python3 ansible-playbook your-target-playbook.yml # AWX中则在额外环境变量里添加: ANSIBLE_PYTHON_INTERPRETER: /usr/bin/python3
这样既解决了特定警告,又保留了其他可能有用的弃用提示。
内容的提问来源于stack exchange,提问作者Kajsa Gauza
相关产品推荐
相关产品推荐

