如何停用Ansible的sudo密码交互输入以及如何覆盖ansible.cfg
我想要自动化执行Ansible,但不想要交互式输入sudo密码。
在这种情况下,您需要将密码设置为ansible_become_pass变量。
假设在ansible.cfg文件中become_ask_pass的值为True,那么需要通过对话输入密码。遗憾的是,无论是在额外参数–extra-vars还是其他ansible内部的重写中,该变量都不会起作用。这是因为该变量在执行命令中的__init__.py的早期阶段就被使用了。
为了避免被要求输入密码,可以通过覆盖每个环境的ansible.cfg文件或加载另一个ansible.cfg文件的方式来实现。
但是,使用环境变量ANSIBLE_BECOME_ASK_PASS进行覆盖的方法是最简单的。
ansible.cfg的内容可以通过环境变量进行大部分覆盖。
目前尚无关于可以覆盖的变量种类的文档,
只在源代码(constants.py)中进行了说明,所以请查找所需变量。
以下为URL地址:
https://github.com/ansible/ansible/blob/devel/lib/ansible/constants.py
参考网址
ansible.cfg的官方文件