Ansible 配置设置
Ansible 支持多种配置其行为的来源,包括名为 ansible.cfg 的 ini 文件、环境变量、命令行选项、Playbook 关键字和变量。有关各来源优先级规则的详细信息,请参阅 控制 Ansible 的行为:优先级规则。
ansible-config 工具允许用户查看所有可用的配置设置、其默认值、如何设置它们以及它们当前值的来源。有关更多信息,请参阅 ansible-config。
配置文件
可以在配置文件中进行更改并使用,系统将按以下顺序搜索该文件:
ANSIBLE_CONFIG(如果已设置环境变量)
ansible.cfg(在当前目录中)
~/.ansible.cfg(在主目录中)
/etc/ansible/ansible.cfg
Ansible 将处理上述列表并使用找到的第一个文件,忽略所有其他文件。
注意
配置文件是 INI 格式的一种变体。当注释位于行首时,哈希符号 (#) 和分号 (;) 均可用作注释标记。但是,如果注释与常规值在同一行,则只能使用分号来引入注释。例如:
# some basic default values...
inventory = /etc/ansible/hosts ; This points to the file that lists your hosts
生成示例 ansible.cfg 文件
您可以生成一个包含完整注释的示例 ansible.cfg 文件,例如:
$ ansible-config init --disabled > ansible.cfg
您也可以使用包含现有插件的更完整的文件:
$ ansible-config init --disabled -t all > ansible.cfg
您可以将其作为起点来创建您自己的 ansible.cfg 文件。
避免当前目录中 ansible.cfg 的安全风险
如果 Ansible 从全局可写的当前工作目录中加载 ansible.cfg,将会造成严重的安全风险。其他用户可以在该目录中放置他们自己的配置文件,旨在使 Ansible 在本地和远程执行恶意代码,且可能具有提升的权限。因此,如果当前工作目录是全局可写的,Ansible 将不会自动从中加载配置文件。
如果您必须在当前工作目录中使用配置文件来运行 Ansible,避免此问题的最佳方法是将对 Ansible 目录的访问权限限制为特定用户和/或组。如果您的 Ansible 目录位于必须模拟 Unix 权限的文件系统上(如 Vagrant 或适用于 Linux 的 Windows 子系统 (WSL)),起初您可能不知道如何修复此问题,因为 chmod、chown 和 chgrp 可能无法生效。在大多数情况下,正确的修复方法是修改文件系统的挂载选项,以便文件和目录对运行 Ansible 的用户和组可读写,但对其他人关闭。有关正确设置的详细信息,请参阅:
对于 Vagrant,Vagrant 文档 涵盖了同步文件夹权限。
对于 WSL,WSL 文档 和此 Microsoft 博客文章 涵盖了挂载选项。
如果您完全依赖于将 Ansible 配置存储在全局可写的当前工作目录中,则可以通过 ANSIBLE_CONFIG 环境变量显式指定配置文件。在执行此操作之前,请采取适当的措施来缓解上述安全问题。
配置的相对路径
您可以为许多配置选项指定相对路径。在大多数情况下,所使用的路径将相对于当前执行所使用的 ansible.cfg 文件。如果您需要相对于当前工作目录 (CWD) 的路径,可以使用 {{CWD}} 宏来指定。我们不建议采用这种方法,因为将 CWD 用作相对路径的根目录可能存在安全风险。例如:cd /tmp; secureinfo=./newrootpassword ansible-playbook ~/safestuff/change_root_pwd.yml。
常用选项
这是我们发布版本中可用选项的副本,您的本地安装可能因额外的插件而拥有更多选项,您可以使用上面提到的命令行工具 (ansible-config) 来浏览它们。
ACTION_WARNINGS
- 描述:
默认情况下,当从任务操作(模块或操作插件)接收到警告时,Ansible 会发出警告。可以通过将此设置调整为 False 来消除这些警告。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.5
- Ini:
- 节:
[defaults]
- 键:
action_warnings
- 环境:
AGNOSTIC_BECOME_PROMPT
- 描述:
显示一个通用的提权提示,而不是显示包含命令行提供提权方法的提示。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.5
- Ini:
- 节:
[privilege_escalation]
- 键:
agnostic_become_prompt
- 环境:
ALLOW_BROKEN_CONDITIONALS
- 描述:
启用后,此选项允许使用非布尔结果的条件。在这种情况下将发出弃用警告。默认情况下,非布尔条件会导致错误。此类结果通常表明在不支持的地方意外使用了模板,导致条件始终为真。启用此选项时,为了向后兼容,作为字面量
None或空字符串的条件表达式将被评估为真。- 类型:
布尔值
- 默认值:
False- 添加版本:
2.19
- Ini:
- 节:
[defaults]
- 键:
allow_broken_conditionals
- 环境:
ALLOW_EMBEDDED_TEMPLATES
- 描述:
启用后,此选项允许在特定的向后兼容场景中使用嵌入式模板。在这种情况下将发出弃用警告。首先是完全包含在模板分隔符中的条件(例如
failed_when、until、assert.that)。其次是条件中的字符串常量(例如when: some_var == '{{ some_other_var }}')。最后是查找的位置参数(例如lookup('pipe', 'echo {{ some_var }}'))。此功能已弃用,因为这些情况下不需要嵌入式模板。禁用时,使用嵌入式模板将导致错误。未来版本将默认禁用此功能。- 类型:
布尔值
- 默认值:
True- 添加版本:
2.19
- Ini:
- 节:
[defaults]
- 键:
allow_embedded_templates
- 环境:
ANSIBLE_COW_ACCEPTLIST
- 描述:
接受一个可安全使用的 cowsay 模板列表,如果您想启用所有已安装的模板,请将其设置为空列表。
- 类型:
list
- 默认值:
['bud-frogs', 'bunny', 'cheese', 'daemon', 'default', 'dragon', 'elephant-in-snake', 'elephant', 'eyes', 'hellokitty', 'kitty', 'luke-koala', 'meow', 'milk', 'moofasa', 'moose', 'ren', 'sheep', 'small', 'stegosaurus', 'stimpy', 'supermilker', 'three-eyes', 'turkey', 'turtle', 'tux', 'udder', 'vader-koala', 'vader', 'www']- Ini:
- 节:
[defaults]
- 键:
cowsay_enabled_stencils
- 添加版本:
2.11
- 环境:
- 变量:
- 添加版本:
2.11
ANSIBLE_COW_PATH
- 描述:
指定自定义 cowsay 路径或切换为您选择的 cowsay 实现。
- 类型:
字符串
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
cowpath
- 环境:
- 变量:
ANSIBLE_COW_SELECTION
- 描述:
这允许您为横幅选择特定的 cowsay 模板,或使用‘random’进行轮换。
- 默认值:
default- Ini:
- 节:
[defaults]
- 键:
cow_selection
- 环境:
ANSIBLE_FORCE_COLOR
- 描述:
即使在没有 TTY 或 “nocolor” 设置为 True 的情况下运行时,此选项也会强制使用颜色模式。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
force_color
- 环境:
ANSIBLE_HOME
- 描述:
控制器上 Ansible 配置文件的默认根路径。
- 类型:
path
- 默认值:
~/.ansible- 添加版本:
2.14
- Ini:
- 节:
[defaults]
- 键:
home
- 环境:
- 变量:
ANSIBLE_NOCOLOR
- 描述:
此设置允许抑制彩色输出,该输出用于更好地指示故障和状态信息。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
nocolor
- 环境:
- 变量:
- 变量:
- 添加版本:
2.11
ANSIBLE_NOCOWS
- 描述:
如果您安装了 cowsay 但想避免‘奶牛’(为什么???),请使用此项。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
nocows
- 环境:
- 变量:
ANSIBLE_PIPELINING
- 描述:
这是一个全局选项,每个连接插件都可以通过拥有更具体的选项或根本不支持流水线来覆盖它。如果连接插件支持流水线,则通过执行许多 Ansible 模块而无需实际传输文件,减少在远程服务器上执行模块所需的网络操作次数。启用后,这可以带来非常显著的性能提升。但这会与权限提升(become)冲突。例如,在使用 ‘sudo:’ 操作时,您必须首先禁用所有受管主机上 /etc/sudoers 中的 ‘requiretty’,这就是它默认禁用的原因。如果启用了
ANSIBLE_KEEP_REMOTE_FILES,此设置将被禁用。- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[connection]
- 键:
pipelining
- 节:
[defaults]
- 键:
pipelining
- 环境:
ANY_ERRORS_FATAL
- 描述:
设置 any_errors_fatal 关键字的默认值,如果为 True,任务失败将被视为致命错误。
- 类型:
布尔值
- 默认值:
False- 添加版本:
2.4
- Ini:
- 节:
[defaults]
- 键:
any_errors_fatal
- 环境:
BECOME_ALLOW_SAME_USER
- 描述:
当
False(默认)时,如果远程用户与提权用户相同,Ansible 将跳过使用 become,因为这通常是多余的操作。换句话说,root sudo 到 root。如果为True,则强制 Ansible 无论如何都使用 become 插件,因为在某些情况下需要这样做。- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[privilege_escalation]
- 键:
become_allow_same_user
- 环境:
BECOME_PASSWORD_FILE
- 描述:
用于 become 插件的密码文件。
--become-password-file。如果该文件可执行,它将被运行,并将产生的标准输出用作密码。- 类型:
path
- 默认值:
None- 添加版本:
2.12
- Ini:
- 节:
[defaults]
- 键:
become_password_file
- 环境:
BECOME_PLUGIN_PATH
- 描述:
Ansible 搜索 Become 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/become:/usr/share/ansible/plugins/become" }}- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
become_plugins
- 环境:
CACHE_PLUGIN
- 描述:
选择使用哪个事实缓存插件。默认情况下,不使用缓存,事实在运行之间不会持久存在。
- 默认值:
memory- Ini:
- 节:
[defaults]
- 键:
fact_caching
- 环境:
CACHE_PLUGIN_CONNECTION
- 描述:
定义事实缓存插件的连接或路径信息。
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
fact_caching_connection
- 环境:
CACHE_PLUGIN_PREFIX
- 描述:
用于事实缓存插件文件/表的前缀。
- 默认值:
ansible_facts- Ini:
- 节:
[defaults]
- 键:
fact_caching_prefix
- 环境:
CACHE_PLUGIN_TIMEOUT
- 描述:
事实缓存插件数据的过期超时时间。
- 类型:
整数
- 默认值:
86400- Ini:
- 节:
[defaults]
- 键:
fact_caching_timeout
- 环境:
CALLBACKS_ENABLED
- 描述:
已启用回调的列表。并非所有回调都需要启用,但许多随 Ansible 附带的回调确实需要,因为我们不希望它们默认被激活。
- 类型:
list
- 默认值:
[]- Ini:
- 节:
[defaults]
- 键:
callbacks_enabled
- 添加版本:
2.11
- 环境:
- 变量:
- 添加版本:
2.11
COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH
- 描述:
当加载不支持正在运行的 Ansible 版本(带有集合元数据键 requires_ansible)的集合时。
- 默认值:
warning- 选项:
- error:
发出‘致命’错误并停止 Play
- warning:
发出警告但继续
- ignore:
静默继续
- Ini:
- 节:
[defaults]
- 键:
collections_on_ansible_version_mismatch
- 环境:
COLLECTIONS_PATHS
- 描述:
Ansible 将在其中搜索集合内容的冒号分隔路径。集合必须位于嵌套的 子目录 中,而不是直接位于这些目录中。例如,如果
COLLECTIONS_PATHS包含'{{ ANSIBLE_HOME ~ "/collections" }}',并且您想在该目录中添加my.collection,它必须保存为'{{ ANSIBLE_HOME ~ "/collections/ansible_collections/my/collection" }}'。- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/collections:/usr/share/ansible/collections" }}- Ini:
- 节:
[defaults]
- 键:
collections_path
- 添加版本:
2.10
- 环境:
- 变量:
- 添加版本:
2.10
COLLECTIONS_SCAN_SYS_PATH
- 描述:
启用或禁用扫描 sys.path 以获取已安装集合的布尔值。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
collections_scan_sys_path
- 环境:
COLOR_CHANGED
- 描述:
定义在 ‘Changed’ 任务状态下使用的颜色。
- 默认值:
yellow- Ini:
- 节:
[colors]
- 键:
changed
- 环境:
COLOR_CONSOLE_PROMPT
- 描述:
定义用于 ansible-console 的默认颜色。
- 默认值:
white- 添加版本:
2.7
- Ini:
- 节:
[colors]
- 键:
console_prompt
- 环境:
COLOR_DEBUG
- 描述:
定义在发出调试消息时使用的颜色。
- 默认值:
dark gray- Ini:
- 节:
[colors]
- 键:
debug
- 环境:
COLOR_DEPRECATE
- 描述:
定义在发出弃用消息时使用的颜色。
- 默认值:
purple- Ini:
- 节:
[colors]
- 键:
deprecate
- 环境:
COLOR_DIFF_ADD
- 描述:
定义在显示差异中的添加行时使用的颜色。
- 默认值:
green- Ini:
- 节:
[colors]
- 键:
diff_add
- 环境:
COLOR_DIFF_LINES
- 描述:
定义在显示差异时使用的颜色。
- 默认值:
cyan- Ini:
- 节:
[colors]
- 键:
diff_lines
- 环境:
COLOR_DIFF_REMOVE
- 描述:
定义在显示差异中的删除行时使用的颜色。
- 默认值:
red- Ini:
- 节:
[colors]
- 键:
diff_remove
- 环境:
COLOR_DOC_CONSTANT
- 描述:
定义在 ansible-doc 输出中发出常量时使用的颜色。
- 默认值:
dark gray- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
doc_constant
- 环境:
COLOR_DOC_DEPRECATED
- 描述:
定义在 ansible-doc 输出中发出弃用值时使用的颜色。
- 默认值:
magenta- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
doc_deprecated
- 环境:
COLOR_DOC_LINK
- 描述:
定义在 ansible-doc 输出中发出链接时使用的颜色。
- 默认值:
cyan- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
doc_link
- 环境:
COLOR_DOC_MODULE
- 描述:
定义在 ansible-doc 输出中发出模块名称时使用的颜色。
- 默认值:
yellow- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
doc_module
- 环境:
COLOR_DOC_PLUGIN
- 描述:
定义在 ansible-doc 输出中发出插件名称时使用的颜色。
- 默认值:
yellow- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
doc_plugin
- 环境:
COLOR_DOC_REFERENCE
- 描述:
定义在 ansible-doc 输出中发出交叉引用时使用的颜色。
- 默认值:
magenta- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
doc_reference
- 环境:
COLOR_ERROR
- 描述:
定义在发出错误消息时使用的颜色。
- 默认值:
red- Ini:
- 节:
[colors]
- 键:
error
- 环境:
COLOR_HIGHLIGHT
- 描述:
定义用于高亮的颜色。
- 默认值:
white- Ini:
- 节:
[colors]
- 键:
highlight
- 环境:
COLOR_INCLUDED
- 描述:
定义在显示 ‘Included’ 任务状态时使用的颜色。
- 默认值:
cyan- 添加版本:
2.18
- Ini:
- 节:
[colors]
- 键:
included
- 环境:
COLOR_OK
- 描述:
定义在显示 ‘OK’ 任务状态时使用的颜色。
- 默认值:
green- Ini:
- 节:
[colors]
- 键:
ok
- 环境:
- 变量:
COLOR_SKIP
- 描述:
定义在显示 ‘Skipped’ 任务状态时使用的颜色。
- 默认值:
cyan- Ini:
- 节:
[colors]
- 键:
skip
- 环境:
COLOR_UNREACHABLE
- 描述:
定义在 ‘Unreachable’ 状态下使用的颜色。
- 默认值:
bright red- Ini:
- 节:
[colors]
- 键:
unreachable
- 环境:
COLOR_VERBOSE
- 描述:
定义在发出详细消息时使用的颜色。换句话说,即那些随 ‘-v’ 显示的消息。
- 默认值:
blue- Ini:
- 节:
[colors]
- 键:
verbose
- 环境:
COLOR_WARN
- 描述:
定义在发出警告消息时使用的颜色。
- 默认值:
bright purple- Ini:
- 节:
[colors]
- 键:
warn
- 环境:
CONNECTION_FACTS_MODULES
- 描述:
基于连接,在 Play 的事实收集阶段运行哪些模块
- 类型:
dict
- 默认值:
{'asa': 'ansible.legacy.asa_facts', 'cisco.asa.asa': 'cisco.asa.asa_facts', 'eos': 'ansible.legacy.eos_facts', 'arista.eos.eos': 'arista.eos.eos_facts', 'frr': 'ansible.legacy.frr_facts', 'frr.frr.frr': 'frr.frr.frr_facts', 'ios': 'ansible.legacy.ios_facts', 'cisco.ios.ios': 'cisco.ios.ios_facts', 'iosxr': 'ansible.legacy.iosxr_facts', 'cisco.iosxr.iosxr': 'cisco.iosxr.iosxr_facts', 'junos': 'ansible.legacy.junos_facts', 'junipernetworks.junos.junos': 'junipernetworks.junos.junos_facts', 'nxos': 'ansible.legacy.nxos_facts', 'cisco.nxos.nxos': 'cisco.nxos.nxos_facts', 'vyos': 'ansible.legacy.vyos_facts', 'vyos.vyos.vyos': 'vyos.vyos.vyos_facts', 'exos': 'ansible.legacy.exos_facts', 'extreme.exos.exos': 'extreme.exos.exos_facts', 'slxos': 'ansible.legacy.slxos_facts', 'extreme.slxos.slxos': 'extreme.slxos.slxos_facts', 'voss': 'ansible.legacy.voss_facts', 'extreme.voss.voss': 'extreme.voss.voss_facts', 'ironware': 'ansible.legacy.ironware_facts', 'community.network.ironware': 'community.network.ironware_facts'}
CONNECTION_PASSWORD_FILE
- 描述:
用于连接插件的密码文件。
--connection-password-file。- 类型:
path
- 默认值:
None- 添加版本:
2.12
- Ini:
- 节:
[defaults]
- 键:
connection_password_file
- 环境:
COVERAGE_REMOTE_OUTPUT
- 描述:
设置远程主机上生成覆盖率报告的输出目录。目前仅用于 PowerShell 模块的远程覆盖率。这仅供内部使用。
- 类型:
str
- 添加版本:
2.9
- 环境:
- 变量:
- name:
_ansible_coverage_remote_output
COVERAGE_REMOTE_PATHS
- 描述:
Ansible 控制器上文件的路径列表,用于在远程主机上执行时运行覆盖率。只有匹配路径 glob 的文件才会收集其覆盖率。可以指定多个路径 glob,并用
:分隔。目前仅用于 PowerShell 模块的远程覆盖率。这仅供内部使用。- 类型:
str
- 默认值:
*- 添加版本:
2.9
- 环境:
DEFAULT_ACTION_PLUGIN_PATH
- 描述:
Ansible 搜索 Action 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/action:/usr/share/ansible/plugins/action" }}- Ini:
- 节:
[defaults]
- 键:
action_plugins
- 环境:
DEFAULT_ALLOW_UNSAFE_LOOKUPS
- 描述:
启用后,此选项允许查找插件(无论是在变量中用作
{{lookup('foo')}}还是作为循环如 with_foo)返回未标记为 ‘unsafe’ 的数据。默认情况下,此类数据被标记为不安全,以防止模板引擎评估任何 jinja2 模板语言,因为这可能代表安全风险。提供此选项是为了实现向后兼容,但是,用户应首先考虑将 allow_unsafe=True 添加到任何可能包含随后通过模板引擎运行的数据的查找中。- 类型:
布尔值
- 默认值:
False- 添加版本:
2.2.3
- Ini:
- 节:
[defaults]
- 键:
allow_unsafe_lookups
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
此选项在 Ansible Core 代码库中已不再使用。
- 当前替代方案:
查找插件负责标记包含模板的字符串,以允许评估为模板。
DEFAULT_ASK_PASS
- 描述:
此选项控制 Ansible Playbook 是否应提示输入登录密码。如果使用 SSH 密钥进行身份验证,您可能不需要更改此设置。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
ask_pass
- 环境:
- 变量:
DEFAULT_ASK_VAULT_PASS
- 描述:
此选项控制 Ansible Playbook 是否应提示输入 vault 密码。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
ask_vault_pass
- 环境:
DEFAULT_BECOME
- 描述:
切换是否使用权限提升,允许您在登录后‘成为’另一个用户。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[privilege_escalation]
- 键:
become
- 环境:
- 变量:
DEFAULT_BECOME_ASK_PASS
- 描述:
切换是否提示输入权限提升密码。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[privilege_escalation]
- 键:
become_ask_pass
- 环境:
DEFAULT_BECOME_EXE
- 描述:
用于权限提升的可执行文件,否则 Ansible 将依赖 PATH。
- 默认值:
None- Ini:
- 节:
[privilege_escalation]
- 键:
become_exe
- 环境:
DEFAULT_BECOME_FLAGS
- 描述:
传递给权限提升可执行文件的标志。
- 默认值:
- Ini:
- 节:
[privilege_escalation]
- 键:
become_flags
- 环境:
DEFAULT_BECOME_METHOD
- 描述:
启用 become 时使用的权限提升方法。
- 默认值:
sudo- Ini:
- 节:
[privilege_escalation]
- 键:
become_method
- 环境:
DEFAULT_BECOME_USER
- 描述:
使用权限提升时,您的登录/远程用户‘成为’的用户,大多数系统在未指定用户时会使用 ‘root’。
- 默认值:
root- Ini:
- 节:
[privilege_escalation]
- 键:
become_user
- 环境:
DEFAULT_CACHE_PLUGIN_PATH
- 描述:
Ansible 搜索 Cache 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/cache:/usr/share/ansible/plugins/cache" }}- Ini:
- 节:
[defaults]
- 键:
cache_plugins
- 环境:
DEFAULT_CALLBACK_PLUGIN_PATH
- 描述:
Ansible 搜索 Callback 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/callback:/usr/share/ansible/plugins/callback" }}- Ini:
- 节:
[defaults]
- 键:
callback_plugins
- 环境:
DEFAULT_CLICONF_PLUGIN_PATH
- 描述:
Ansible 搜索 Cliconf 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/cliconf:/usr/share/ansible/plugins/cliconf" }}- Ini:
- 节:
[defaults]
- 键:
cliconf_plugins
- 环境:
DEFAULT_CONNECTION_PLUGIN_PATH
- 描述:
Ansible 搜索 Connection 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/connection:/usr/share/ansible/plugins/connection" }}- Ini:
- 节:
[defaults]
- 键:
connection_plugins
- 环境:
DEFAULT_DEBUG
- 描述:
切换 Ansible 中的调试输出。这 非常 详细且可能阻碍多进程。尽管启用了 no_log 设置,但调试输出也可能包含秘密信息,这意味着调试模式不应在生产环境中使用。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
debug
- 环境:
- 变量:
DEFAULT_EXECUTABLE
- 描述:
这表示用于生成 shell 的命令,这是 Ansible 在目标上执行需求所必需的。在 shell 使用受限的极少数情况下,用户可能需要更改此设置,但在大多数情况下,可以保持原样。
- 默认值:
/bin/sh- Ini:
- 节:
[defaults]
- 键:
executable
- 环境:
DEFAULT_FILTER_PLUGIN_PATH
- 描述:
Ansible 搜索 Jinja2 Filter 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/filter:/usr/share/ansible/plugins/filter" }}- Ini:
- 节:
[defaults]
- 键:
filter_plugins
- 环境:
DEFAULT_FORCE_HANDLERS
- 描述:
此选项控制即使在主机上发生故障,通知的处理器是否也会在该主机上运行。当为假时,如果主机发生故障,处理器将不会运行。这也可以按 Play 或在命令行上设置。有关详细信息,请参阅“处理器和故障”。
- 类型:
布尔值
- 默认值:
False- 添加版本:
1.9.1
- Ini:
- 节:
[defaults]
- 键:
force_handlers
- 环境:
DEFAULT_FORKS
- 描述:
Ansible 用于在目标主机上执行任务的最大 fork 数。
- 类型:
整数
- 默认值:
5- Ini:
- 节:
[defaults]
- 键:
forks
- 环境:
- 变量:
DEFAULT_GATHERING
- 描述:
此设置控制事实收集(关于远程系统发现的事实)的默认策略。此选项对于希望节省事实收集时间的人很有用。‘smart’ 和 ‘explicit’ 都将使用缓存插件。
- 默认值:
implicit- 选项:
- implicit:
缓存插件将被忽略,除非设置了 ‘gather_facts: False’,否则事实将在每个 Play 中收集。
- explicit:
除非在 Play 中明确要求,否则不会收集事实。
- smart:
每个未发现事实的新主机都将被扫描,但如果在多个 Play 中寻址同一主机,则在运行期间将不再联系它。
- 添加版本:
1.6
- Ini:
- 节:
[defaults]
- 键:
gathering
- 环境:
DEFAULT_HASH_BEHAVIOUR
- 描述:
此设置控制 Ansible 如何处理字典变量(又名哈希、映射、关联数组)的重复定义。这不会影响值为标量(整数、字符串)或数组的变量。警告,不建议更改此设置,因为它很脆弱,并且使您的内容(Play、角色、集合)不可移植,导致持续的混淆和误用。除非您认为绝对需要,否则不要更改此设置。我们建议避免重用变量名,并依靠
combine过滤器以及vars和varnames查找来创建单个变量的合并版本。根据我们的经验,这很少需要,这表明数据结构和 Play 中引入了太多的复杂性。对于某些用途,您还可以查看自定义 vars_plugins 以在输入时合并,甚至替换负责解析host_vars/和group_vars/目录的默认host_group_vars。此设置的大多数用户只对清单范围感兴趣,但设置本身会影响所有来源并使调试更加困难。官方示例仓库中的所有 Playbook 和角色都假设此设置采用默认值。将设置更改为merge适用于所有变量源,但许多源在内部仍会覆盖变量。例如,include_vars将在更新 Ansible 之前在内部对变量进行去重,‘最后定义’的会覆盖同一文件中之前的定义。Ansible 项目建议您 避免在新项目中使用 ``merge``。 Ansible 开发人员打算最终弃用并删除此设置,但它被保留下来是因为某些用户确实严重依赖它。新项目应 避免使用 ‘merge’。- 类型:
字符串
- 默认值:
replace- 选项:
- replace:
任何定义多次的变量都会根据变量优先级规则(最高优先级获胜)被覆盖。
- merge:
任何字典变量都将根据不同的变量定义来源与新定义递归合并。
- Ini:
- 节:
[defaults]
- 键:
hash_behaviour
- 环境:
DEFAULT_HOST_LIST
- 描述:
Ansible 清单源的逗号分隔列表
- 类型:
pathlist
- 默认值:
['/etc/ansible/hosts']- Ini:
- 节:
[defaults]
- 键:
inventory
- 环境:
DEFAULT_HTTPAPI_PLUGIN_PATH
- 描述:
Ansible 搜索 HttpApi 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/httpapi:/usr/share/ansible/plugins/httpapi" }}- Ini:
- 节:
[defaults]
- 键:
httpapi_plugins
- 环境:
DEFAULT_INTERNAL_POLL_INTERVAL
- 描述:
这设置了 Ansible 内部进程相互轮询的间隔(以秒为单位)。较低的值以额外的 CPU 负载为代价,提高了大型 Playbook 的性能。较高的值更适合在不需要 UI 响应但 CPU 使用率可能是一个问题时在自动化场景中使用 Ansible。默认值对应于 Ansible <= 2.1 中硬编码的值
- 类型:
float
- 默认值:
0.001- 添加版本:
2.2
- Ini:
- 节:
[defaults]
- 键:
internal_poll_interval
DEFAULT_INVENTORY_PLUGIN_PATH
- 描述:
Ansible 搜索 Inventory 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/inventory:/usr/share/ansible/plugins/inventory" }}- Ini:
- 节:
[defaults]
- 键:
inventory_plugins
- 环境:
DEFAULT_JINJA2_EXTENSIONS
- 描述:
这是一个特定于开发人员的功能,允许启用额外的 Jinja2 扩展。有关详细信息,请参阅 Jinja2 文档。如果您不知道这些扩展的作用,您可能不需要更改此设置 :)
- 类型:
list
- 默认值:
[]- Ini:
- 节:
[defaults]
- 键:
jinja2_extensions
- 环境:
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
Jinja2 扩展已被弃用
- 当前替代方案:
Ansible 支持的 Jinja 插件(测试、过滤器、查找)
DEFAULT_JINJA2_NATIVE
- 描述:
此选项在模板操作期间保留变量类型。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.7
- Ini:
- 节:
[defaults]
- 键:
jinja2_native
- 环境:
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
此选项在 Ansible Core 代码库中已不再使用。
- 当前替代方案:
Jinja2 原生模式现在是默认且唯一的选项。
DEFAULT_KEEP_REMOTE_FILES
- 描述:
启用/禁用清理 Ansible 用于在远程执行任务的临时文件。如果启用了此选项,它将禁用
ANSIBLE_PIPELINING。- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
keep_remote_files
- 环境:
DEFAULT_LOAD_CALLBACK_PLUGINS
- 描述:
控制在运行 /usr/bin/ansible 时是否加载回调插件。这可用于记录命令行活动、发送通知等。回调插件始终为
ansible-playbook加载。- 类型:
布尔值
- 默认值:
False- 添加版本:
1.8
- Ini:
- 节:
[defaults]
- 键:
bin_ansible_callbacks
- 环境:
DEFAULT_LOCAL_TMP
- 描述:
Ansible 在控制器上使用的临时目录。
- 类型:
tmppath
- 默认值:
{{ ANSIBLE_HOME ~ "/tmp" }}- Ini:
- 节:
[defaults]
- 键:
local_tmp
- 环境:
DEFAULT_LOG_FILTER
- 描述:
要从日志文件中过滤掉的记录器名称列表。
- 类型:
list
- 默认值:
[]- Ini:
- 节:
[defaults]
- 键:
log_filter
- 环境:
DEFAULT_LOG_PATH
- 描述:
Ansible 在控制器上记录日志的文件。未设置时,日志记录被禁用。
- 类型:
path
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
log_path
- 环境:
- 变量:
DEFAULT_LOOKUP_PLUGIN_PATH
- 描述:
Ansible 搜索 Lookup 插件的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/lookup:/usr/share/ansible/plugins/lookup" }}- Ini:
- 节:
[defaults]
- 键:
lookup_plugins
- 环境:
DEFAULT_MANAGED_STR
- 描述:
为 ansible_collections.ansible.builtin.template_module 和 ansible_collections.ansible.windows.win_template_module 设置可用的 ‘ansible_managed’ 变量宏。这仅与这两个模块相关。
- 默认值:
Ansible managed- Ini:
- 节:
[defaults]
- 键:
ansible_managed
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
可以像设置任何其他变量一样设置 ansible_managed 变量,或者使用不同的变量。
- 当前替代方案:
设置 ansible_managed 变量,或在模板中使用任何自定义变量。
DEFAULT_MODULE_ARGS
- 描述:
如果未指定
-a,则设置传递给ansible即席二进制文件的默认参数。- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
module_args
- 环境:
DEFAULT_MODULE_COMPRESSION
- 描述:
将 Python 模块传输到目标时使用的压缩方案。
- 默认值:
ZIP_DEFLATED- Ini:
- 节:
[defaults]
- 键:
module_compression
- 变量:
- name:
ansible_module_compression
DEFAULT_MODULE_NAME
- 描述:
如果未通过
-m指定,则与ansibleAdHoc 命令一起使用的模块。- 默认值:
command- Ini:
- 节:
[defaults]
- 键:
module_name
DEFAULT_MODULE_PATH
- 描述:
Ansible 搜索模块的冒号分隔路径。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/modules:/usr/share/ansible/plugins/modules" }}- Ini:
- 节:
[defaults]
- 键:
library
- 环境:
- 变量:
DEFAULT_MODULE_UTILS_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索模块使用的工具文件(由模块共享)。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/module_utils:/usr/share/ansible/plugins/module_utils" }}- Ini:
- 节:
[defaults]
- 键:
module_utils
- 环境:
DEFAULT_NETCONF_PLUGIN_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索 Netconf 插件。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/netconf:/usr/share/ansible/plugins/netconf" }}- Ini:
- 节:
[defaults]
- 键:
netconf_plugins
- 环境:
DEFAULT_NO_LOG
- 描述:
切换 Ansible 对任务详情的显示和日志记录,主要用于避免安全信息泄露。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
no_log
- 环境:
- 变量:
DEFAULT_NO_TARGET_SYSLOG
- 描述:
切换 Ansible 在执行任务时是否将日志记录到目标主机的 syslog。在 Windows 主机上,这将禁用较新样式的 PowerShell 模块写入事件日志。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
no_target_syslog
- 环境:
- 变量:
- name:
ansible_no_target_syslog
- 添加版本:
2.10
DEFAULT_NULL_REPRESENTATION
- 描述:
模板引擎应将什么作为“空”(null)值返回。如果未设置,则由 Jinja2 决定。
- 类型:
raw
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
null_representation
- 环境:
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
此选项在 Ansible Core 代码库中已不再使用。
- 当前替代方案:
目前没有替代方案。需要在当前代码库中实现不同的机制。
DEFAULT_POLL_INTERVAL
- 描述:
对于 Ansible 中的异步任务(涵盖在“异步操作和轮询”中),当未提供显式轮询间隔时,这是检查任务状态的频率。默认值是 15 秒,这是一个合理的折中方案,平衡了频繁检查和任务完成后的快速响应。
- 类型:
整数
- 默认值:
15- Ini:
- 节:
[defaults]
- 键:
poll_interval
- 环境:
DEFAULT_PRIVATE_KEY_FILE
- 描述:
用于证书或密钥文件身份验证的连接选项,而不是使用代理或密码。您可以在此处设置默认值,以避免在每次调用时重复指定
--private-key。- 类型:
path
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
private_key_file
- 环境:
DEFAULT_PRIVATE_ROLE_VARS
- 描述:
默认情况下,导入的角色会将变量发布给剧本(play)和其他角色,此设置可以避免这种情况。引入此设置是为了在剧本中多次使用同一个角色时,将角色变量重置为默认值。从 2.17 版本开始,M(ansible.builtin.include_roles) 和 M(ansible.builtin.import_roles) 可以通过 C(public) 参数单独覆盖此设置。与在编译时发生的导入角色不同,包含的角色仅在执行时将其变量公开。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
private_role_vars
- 环境:
DEFAULT_REMOTE_PORT
- 描述:
远程连接使用的端口,为空时将使用连接插件的默认值。
- 类型:
整数
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
remote_port
- 环境:
DEFAULT_REMOTE_USER
- 描述:
设置目标机器的登录用户。当为空时,使用连接插件的默认值,通常是当前执行 Ansible 的用户。
- Ini:
- 节:
[defaults]
- 键:
remote_user
- 环境:
DEFAULT_ROLES_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索角色(Roles)。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/roles:/usr/share/ansible/roles:/etc/ansible/roles" }}- Ini:
- 节:
[defaults]
- 键:
roles_path
- 环境:
DEFAULT_SELINUX_SPECIAL_FS
- 描述:
某些文件系统不支持安全操作和/或返回不一致的错误,此设置使 Ansible “容忍”列表中的这些文件系统,而不导致致命错误。当文件系统在列表中时,可能会发生数据损坏,且写入操作不总是经过验证。
- 类型:
list
- 默认值:
['fuse', 'nfs', 'vboxsf', 'ramfs', '9p', 'vfat']- Ini:
- 节:
[selinux]
- 键:
special_context_filesystems
- 环境:
- 变量:
- 添加版本:
2.9
DEFAULT_STDOUT_CALLBACK
- 描述:
设置用于显示 Ansible 输出的主要回调。一次只能使用一个。您可以有许多其他回调,但只有一个可以负责 stdout。有关可用选项的列表,请参阅 Callback plugins。
- 默认值:
default- Ini:
- 节:
[defaults]
- 键:
stdout_callback
- 环境:
DEFAULT_STRATEGY
- 描述:
设置用于剧本(plays)的默认策略。
- 默认值:
linear- 添加版本:
2.3
- Ini:
- 节:
[defaults]
- 键:
strategy
- 环境:
- 变量:
DEFAULT_STRATEGY_PLUGIN_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索策略插件。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/strategy:/usr/share/ansible/plugins/strategy" }}- Ini:
- 节:
[defaults]
- 键:
strategy_plugins
- 环境:
DEFAULT_SU
- 描述:
切换任务是否使用 “su”。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
su
- 环境:
- 变量:
DEFAULT_SYSLOG_FACILITY
- 描述:
当 Ansible 记录到远程目标时使用的系统日志设备(facility)。
- 默认值:
LOG_USER- Ini:
- 节:
[defaults]
- 键:
syslog_facility
- 环境:
DEFAULT_TERMINAL_PLUGIN_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索终端插件。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/terminal:/usr/share/ansible/plugins/terminal" }}- Ini:
- 节:
[defaults]
- 键:
terminal_plugins
- 环境:
DEFAULT_TEST_PLUGIN_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索 Jinja2 测试插件。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/test:/usr/share/ansible/plugins/test" }}- Ini:
- 节:
[defaults]
- 键:
test_plugins
- 环境:
DEFAULT_TIMEOUT
- 描述:
这是连接插件使用的默认超时时间。
- 类型:
整数
- 默认值:
10- Ini:
- 节:
[defaults]
- 键:
timeout
- 环境:
- 变量:
DEFAULT_TRANSPORT
- 描述:
可以是 Ansible 安装中可用的任何连接插件。
- 默认值:
ssh- Ini:
- 节:
[defaults]
- 键:
transport
- 环境:
DEFAULT_UNDEFINED_VAR_BEHAVIOR
- 描述:
当设置为 True 时,这会导致 Ansible 模板引擎在引用可能拼写错误的变量名称时使步骤失败。否则,任何包含未定义变量的 ‘{{ template_expression }}’ 都将完全按书写方式渲染到模板或 Ansible 操作行中。
- 类型:
布尔值
- 默认值:
True- 添加版本:
1.3
- Ini:
- 节:
[defaults]
- 键:
error_on_undefined_vars
- 环境:
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
此选项在 Ansible Core 代码库中已不再使用。
- 当前替代方案:
目前没有替代方案。需要在当前代码库中实现不同的机制。
DEFAULT_VARS_PLUGIN_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索变量插件(Vars Plugins)。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/vars:/usr/share/ansible/plugins/vars" }}- Ini:
- 节:
[defaults]
- 键:
vars_plugins
- 环境:
DEFAULT_VAULT_ENCRYPT_IDENTITY
- 描述:
默认用于加密的 vault_id。如果提供了多个 vault_id,此项指定加密时使用的 ID。命令行选项
--encrypt-vault-id会覆盖此配置值。- Ini:
- 节:
[defaults]
- 键:
vault_encrypt_identity
- 环境:
DEFAULT_VAULT_ID_MATCH
- 描述:
如果为 true,则使用 vault id 解密 vault 时将仅尝试使用匹配 vault-id 的密码。
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
vault_id_match
- 环境:
DEFAULT_VAULT_IDENTITY
- 描述:
当未提供 vault id 标签时使用的默认 vault id 标签。
- 默认值:
default- Ini:
- 节:
[defaults]
- 键:
vault_identity
- 环境:
DEFAULT_VAULT_IDENTITY_LIST
- 描述:
默认使用的 vault-id 列表。等同于多个
--vault-id参数。Vault-id 将按顺序尝试使用。- 类型:
list
- 默认值:
[]- Ini:
- 节:
[defaults]
- 键:
vault_identity_list
- 环境:
DEFAULT_VAULT_PASSWORD_FILE
- 描述:
要使用的 vault 密码文件。等同于
--vault-password-file或--vault-id。如果文件可执行,它将被运行,其标准输出(stdout)将被用作密码。- 类型:
path
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
vault_password_file
- 环境:
DEFAULT_VERBOSITY
- 描述:
设置默认详细级别,等同于在命令行中传递的
-v的数量。- 类型:
整数
- 默认值:
0- Ini:
- 节:
[defaults]
- 键:
verbosity
- 环境:
DEPRECATION_WARNINGS
- 描述:
切换以控制是否显示弃用警告。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
deprecation_warnings
- 环境:
- 变量:
- name:
ansible_deprecation_warnings
- 添加版本:
2.19
DEVEL_WARNING
- 描述:
切换以控制是否显示与运行开发版(devel)相关的警告。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
devel_warning
- 环境:
DIFF_ALWAYS
- 描述:
配置切换开关,告知模块在处于 ‘changed’ 状态时显示差异,等同于
--diff。- 类型:
bool
- 默认值:
False- Ini:
- 节:
[diff]
- 键:
always
- 环境:
DIFF_CONTEXT
- 描述:
在显示文件差异时要显示的上下文行数。
- 类型:
整数
- 默认值:
3- Ini:
- 节:
[diff]
- 键:
context
- 环境:
DISPLAY_ARGS_TO_STDOUT
- 描述:
通常
ansible-playbook会为每个运行的任务打印一个标题。如果您指定了名称,这些标题将包含任务中的 name: 字段。如果您没有指定,则ansible-playbook会使用任务的操作来帮助您识别当前正在运行的任务。有时您会运行许多相同的操作,因此您希望获得有关任务的更多信息,以便将其与相同操作的其他任务区分开来。如果您在配置中将此变量设置为 True,则ansible-playbook还将在标题中包含任务的参数。此设置默认设为 False,因为您的参数中可能包含敏感值,而您不希望这些值被打印出来。如果将其设置为 True,您应确保已保护环境的 stdout(没有人能窥视您的屏幕,且您没有将 stdout 保存到不安全的文件中),或者确保您所有的剧本都明确地向包含敏感值的任务添加了no_log: True参数。有关详细信息,请参阅 如何保护剧本中的敏感数据?。- 类型:
布尔值
- 默认值:
False- 添加版本:
2.1
- Ini:
- 节:
[defaults]
- 键:
display_args_to_stdout
- 环境:
DISPLAY_SKIPPED_HOSTS
- 描述:
切换以控制在默认回调的任务中是否显示跳过的任务/主机条目。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
display_skipped_hosts
- 环境:
DISPLAY_TRACEBACK
- 描述:
何时在扩展错误消息中包含回溯信息。
- 类型:
list
- 默认值:
['never']- 选项:
error
warning
deprecated
deprecated_value
always
never
- 添加版本:
2.19
- Ini:
- 节:
[defaults]
- 键:
display_traceback
- 环境:
DOC_FRAGMENT_PLUGIN_PATH
- 描述:
冒号分隔的路径列表,Ansible 将在这些路径中搜索文档片段插件。
- 类型:
pathspec
- 默认值:
{{ ANSIBLE_HOME ~ "/plugins/doc_fragments:/usr/share/ansible/plugins/doc_fragments" }}- Ini:
- 节:
[defaults]
- 键:
doc_fragment_plugins
- 环境:
DOCSITE_ROOT_URL
- 描述:
用于生成警告/错误文本中文档 URL 的根文档站点 URL;必须是一个带有有效协议且带有末尾斜杠的绝对 URL。
- 默认值:
https://docs.ansible.org.cn/ansible-core/- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
docsite_root_url
DUPLICATE_YAML_DICT_KEY
- 描述:
默认情况下,Ansible 在 YAML 中遇到重复的字典键时会发出警告。可以通过将此设置调整为 False 来静默这些警告。
- 类型:
字符串
- 默认值:
warn- 选项:
- error:
发出‘致命’错误并停止 Play
- warn:
发出警告但继续
- ignore:
静默继续
- 添加版本:
2.9
- Ini:
- 节:
[defaults]
- 键:
duplicate_dict_key
- 环境:
EDITOR
- 描述:
对于 Ansible 需要在编辑器中返回文件的情况,此项选择要使用的应用程序。
- 默认值:
vi- Ini:
- 节:
[defaults]
- 键:
editor
- 添加版本:
2.15
- 环境:
- 变量:
- 添加版本:
2.15
- 变量:
ENABLE_TASK_DEBUGGER
- 描述:
是否启用任务调试器,这以前是作为策略插件完成的。现在所有的策略插件都可以继承此行为。调试器默认在任务失败或不可达时激活。使用 debugger 关键字以获得更大的灵活性。
- 类型:
布尔值
- 默认值:
False- 添加版本:
2.5
- Ini:
- 节:
[defaults]
- 键:
enable_task_debugger
- 环境:
ERROR_ON_MISSING_HANDLER
- 描述:
切换以允许在通知时缺失的处理程序(handler)成为警告而不是错误。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
error_on_missing_handler
- 环境:
FACTS_MODULES
- 描述:
在剧本的 fact 收集阶段运行哪些模块,使用默认的 ‘smart’ 将根据连接类型尝试自行确定。如果您添加了自己的模块,但仍想使用默认的 Ansible facts,则需要将 ‘setup’ 或相应的网络模块包含在列表中(如果您添加了 ‘smart’,Ansible 也会自行确定)。这不会影响对 ‘setup’ 模块的显式调用,但总是会影响 ‘gather_facts’ 操作(隐式或显式)。
- 类型:
list
- 默认值:
['smart']- Ini:
- 节:
[defaults]
- 键:
facts_modules
- 环境:
- 变量:
- name:
ansible_facts_modules
GALAXY_CACHE_DIR
- 描述:
存储来自 Galaxy 服务器缓存响应的目录。仅由
ansible-galaxy collection install和download命令使用。如果此目录内的缓存文件是全局可写的,它们将被忽略。- 类型:
path
- 默认值:
{{ ANSIBLE_HOME ~ "/galaxy_cache" }}- 添加版本:
2.11
- Ini:
- 节:
[galaxy]
- 键:
cache_dir
- 环境:
GALAXY_COLLECTION_IMPORT_POLL_FACTOR
- 描述:
检查集合导入状态时,用于增加 GALAXY_COLLECTION_IMPORT_POLL_INTERVAL 的乘数。
- 类型:
float
- 默认值:
1.5- 添加版本:
2.18
- 环境:
GALAXY_COLLECTION_IMPORT_POLL_INTERVAL
- 描述:
轮询集合导入状态的初始间隔(以秒为单位)。此间隔基于 GALAXY_COLLECTION_IMPORT_POLL_FACTOR 指数级增加,最大延迟为 30 秒。
- 类型:
float
- 默认值:
2.0- 添加版本:
2.18
- 环境:
GALAXY_COLLECTION_SKELETON
- 描述:
用作
ansible-galaxy collection中init操作模板的集合骨架目录,与--collection-skeleton相同。- 类型:
path
- Ini:
- 节:
[galaxy]
- 键:
collection_skeleton
- 环境:
GALAXY_COLLECTION_SKELETON_IGNORE
- 描述:
Galaxy 集合骨架目录内要忽略的文件模式。
- 类型:
list
- 默认值:
['^.git$', '^.*/.git_keep$']- Ini:
- 节:
[galaxy]
- 键:
collection_skeleton_ignore
- 环境:
GALAXY_COLLECTIONS_PATH_WARNING
- 描述:
是否在
ansible-galaxy collection install中针对配置的 COLLECTIONS_PATHS 中缺失--collections-path发出警告。- 类型:
bool
- 默认值:
True- 添加版本:
2.16
- Ini:
- 节:
[galaxy]
- 键:
collections_path_warning
- 环境:
GALAXY_DISABLE_GPG_VERIFY
- 描述:
在集合安装期间禁用 GPG 签名验证。
- 类型:
bool
- 默认值:
False- 添加版本:
2.13
- Ini:
- 节:
[galaxy]
- 键:
disable_gpg_verify
- 环境:
GALAXY_DISPLAY_PROGRESS
- 描述:
ansible-galaxy中的某些步骤会显示一个进度轮,这在某些显示器上或将 stdout 输出到文件时可能会导致问题。此配置选项控制是否显示进度轮。默认情况下,如果 stdout 是 tty,则显示进度轮。- 类型:
bool
- 默认值:
None- 添加版本:
2.10
- Ini:
- 节:
[galaxy]
- 键:
display_progress
- 环境:
GALAXY_GPG_KEYRING
- 描述:
配置在集合安装和验证期间用于 GPG 签名验证的密钥环。
- 类型:
path
- 添加版本:
2.13
- Ini:
- 节:
[galaxy]
- 键:
gpg_keyring
- 环境:
GALAXY_IGNORE_CERTS
- 描述:
如果设置为 yes,ansible-galaxy 将不验证 TLS 证书。这对于针对使用自签名证书的服务器进行测试非常有用。
- 类型:
布尔值
- Ini:
- 节:
[galaxy]
- 键:
ignore_certs
- 环境:
GALAXY_IGNORE_INVALID_SIGNATURE_STATUS_CODES
- 描述:
在 GPG 签名验证期间要忽略的 GPG 状态代码列表。有关状态代码的描述,请参阅 L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes)。如果成功验证集合的签名数量少于 GALAXY_REQUIRED_VALID_SIGNATURE_COUNT,即使所有错误代码都被忽略,签名验证也将失败。
- 类型:
list
- 选项:
EXPSIG
EXPKEYSIG
REVKEYSIG
BADSIG
ERRSIG
NO_PUBKEY
MISSING_PASSPHRASE
BAD_PASSPHRASE
NODATA
UNEXPECTED
ERROR
FAILURE
BADARMOR
KEYEXPIRED
KEYREVOKED
NO_SECKEY
- Ini:
- 节:
[galaxy]
- 键:
ignore_signature_status_codes
- 环境:
GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
- 描述:
在安装或验证集合时,GPG 签名验证期间必须成功的签名数量。这应该是一个正整数或 “all”,以指示所有签名必须成功验证集合。在值前加上 +,如果找不到集合的有效签名则失败。
- 类型:
str
- 默认值:
1- Ini:
- 节:
[galaxy]
- 键:
required_valid_signature_count
- 环境:
GALAXY_ROLE_SKELETON
- 描述:
用作
ansible-galaxy/ansible-galaxy role中init操作模板的角色骨架目录,与--role-skeleton相同。- 类型:
path
- Ini:
- 节:
[galaxy]
- 键:
role_skeleton
- 环境:
GALAXY_ROLE_SKELETON_IGNORE
- 描述:
Galaxy 角色或集合骨架目录内要忽略的文件模式。
- 类型:
list
- 默认值:
['^.git$', '^.*/.git_keep$']- Ini:
- 节:
[galaxy]
- 键:
role_skeleton_ignore
- 环境:
GALAXY_SERVER
- 描述:
当角色未指定完整 URI 时要预置的 URL,假定它们将此服务器作为源引用。
- 默认值:
https://galaxy.ansible.com- Ini:
- 节:
[galaxy]
- 键:
server
- 环境:
GALAXY_SERVER_LIST
- 描述:
安装集合时要使用的 Galaxy 服务器列表。该值对应于配置 ini 标题
[galaxy_server.{{item}}],它定义了服务器详细信息。有关如何定义 Galaxy 服务器的更多详细信息,请参阅 配置 ansible-galaxy 客户端。此列表中服务器的顺序即集合解析的顺序。设置此配置选项将忽略 GALAXY_SERVER 配置选项。- 类型:
list
- 添加版本:
2.9
- Ini:
- 节:
[galaxy]
- 键:
server_list
- 环境:
GALAXY_SERVER_TIMEOUT
- 描述:
Galaxy API 调用的默认超时时间。未配置特定超时的 Galaxy 服务器将回退到此值。
- 类型:
int
- 默认值:
60- Ini:
- 节:
[galaxy]
- 键:
server_timeout
- 环境:
GALAXY_TOKEN_PATH
- 描述:
galaxy 访问令牌文件的本地路径
- 类型:
path
- 默认值:
{{ ANSIBLE_HOME ~ "/galaxy_token" }}- 添加版本:
2.9
- Ini:
- 节:
[galaxy]
- 键:
token_path
- 环境:
HOST_KEY_CHECKING
- 描述:
如果您想避免 Ansible 用于连接到主机的底层连接插件进行主机密钥检查,请将此项设置为 “False”。请阅读所使用的特定连接插件的文档以获取详细信息。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
host_key_checking
- 环境:
HOST_PATTERN_MISMATCH
- 描述:
此设置改变不匹配主机模式的行为,它允许您强制触发致命错误、警告或直接忽略它。
- 默认值:
warning- 选项:
- error:
发出‘致命’错误并停止 Play
- warning:
发出警告但继续
- ignore:
静默继续
- 添加版本:
2.8
- Ini:
- 节:
[inventory]
- 键:
host_pattern_mismatch
- 环境:
INJECT_FACTS_AS_VARS
- 描述:
Facts 在 ansible_facts 变量中可用,此设置也会将它们作为各自的变量推送到主命名空间中。与在 ansible_facts 字典中删除 fact 名称的前缀 ansible_ 不同,这些变量将具有模块返回的完全一致的名称。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.5
- Ini:
- 节:
[defaults]
- 键:
inject_facts_as_vars
- 环境:
INJECT_INVOCATION
- 描述:
启用时,
invocation键将被添加到任务结果中,其中包含所使用的模块/操作参数。大多数回调插件默认会从任务结果显示中屏蔽invocation键。- 类型:
布尔值
- 默认值:
False- 添加版本:
2.21
- Ini:
- 节:
[defaults]
- 键:
inject_invocation
- 环境:
- 变量:
- name:
ansible_inject_invocation
INTERPRETER_PYTHON
- 描述:
用于远程目标上模块执行的 Python 解释器路径,或自动发现模式。支持的发现模式有
auto(默认)和auto_silent。所有发现模式都会针对已知的 Python 解释器位置的有序列表进行匹配。回退行为将发出一个应显式设置解释器的警告(因为稍后安装的解释器可能会改变所使用的解释器)。可以通过设置auto_silent来禁用此警告行为。auto_legacy*模式已被删除。它们的存在是为了向后兼容旧版 Ansible,旧版总是默认为/usr/bin/python3,如果存在,则使用该解释器。- 默认值:
auto- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
interpreter_python
- 环境:
- 变量:
- name:
ansible_python_interpreter
INTERPRETER_PYTHON_FALLBACK
- 类型:
list
- 默认值:
['python3.14', 'python3.13', 'python3.12', 'python3.11', 'python3.10', 'python3.9', '/usr/bin/python3', 'python3']- 添加版本:
2.8
- 变量:
- name:
ansible_interpreter_python_fallback
INVALID_TASK_ATTRIBUTE_FAILED
- 描述:
如果为 ‘false’,则任务的无效属性将导致警告而不是错误。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.7
- Ini:
- 节:
[defaults]
- 键:
invalid_task_attribute_failed
- 环境:
INVENTORY_ANY_UNPARSED_IS_FAILED
- 描述:
如果为 ‘true’,当任何给定的清单来源无法被任何可用的清单插件成功解析时,这将是一个致命错误;否则,这种情况只会引起警告。
- 类型:
布尔值
- 默认值:
False- 添加版本:
2.7
- Ini:
- 节:
[inventory]
- 键:
any_unparsed_is_failed
- 环境:
INVENTORY_ENABLED
- 描述:
已启用清单插件的列表,它也决定了它们被使用的顺序。
- 类型:
list
- 默认值:
['host_list', 'script', 'auto', 'yaml', 'ini', 'toml']- Ini:
- 节:
[inventory]
- 键:
enable_plugins
- 环境:
INVENTORY_EXPORT
- 描述:
控制 ansible-inventory 是准确反映 Ansible 对清单的视图,还是针对导出进行优化。
- 类型:
bool
- 默认值:
False- Ini:
- 节:
[inventory]
- 键:
export
- 环境:
INVENTORY_IGNORE_EXTS
- 描述:
当使用目录作为清单源时要忽略的扩展名列表。
- 类型:
list
- 默认值:
{{ REJECT_EXTS + ['.orig', '.cfg', '.retry'] }}- Ini:
- 节:
[defaults]
- 键:
inventory_ignore_extensions
- 节:
[inventory]
- 键:
ignore_extensions
- 环境:
INVENTORY_IGNORE_PATTERNS
- 描述:
当使用目录作为清单源时要忽略的模式列表。
- 类型:
list
- 默认值:
[]- Ini:
- 节:
[defaults]
- 键:
inventory_ignore_patterns
- 节:
[inventory]
- 键:
ignore_patterns
- 环境:
INVENTORY_UNPARSED_IS_FAILED
- 描述:
如果为 ‘true’,则如果每一个潜在的清单源都无法解析,那将是一个致命错误,否则,这种情况只会引起警告。
- 类型:
bool
- 默认值:
False- Ini:
- 节:
[inventory]
- 键:
unparsed_is_failed
- 环境:
INVENTORY_UNPARSED_WARNING
- 描述:
默认情况下,Ansible 在未加载清单时会发出警告,并指出它将使用隐式的仅本地主机清单。可以通过将此设置调整为 False 来静默这些警告。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.14
- Ini:
- 节:
[inventory]
- 键:
inventory_unparsed_warning
- 环境:
LOCALHOST_WARNING
- 描述:
默认情况下,Ansible 在清单中没有主机时会发出警告。可以通过将此设置调整为 False 来静默这些警告。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.6
- Ini:
- 节:
[defaults]
- 键:
localhost_warning
- 环境:
LOG_VERBOSITY
- 描述:
如果高于正常显示详细级别,这将设置日志详细级别,否则它将与正常详细级别匹配。
- 类型:
int
- 添加版本:
2.17
- Ini:
- 节:
[defaults]
- 键:
log_verbosity
- 环境:
MAX_FILE_SIZE_FOR_DIFF
- 描述:
考虑显示差异的文件大小上限。
- 类型:
int
- 默认值:
104448- Ini:
- 节:
[defaults]
- 键:
max_diff_size
- 环境:
MODULE_IGNORE_EXTS
- 描述:
在寻找要加载的模块时要忽略的扩展名列表。这是为了拒绝脚本和二进制模块回退扩展名。
- 类型:
list
- 默认值:
{{ REJECT_EXTS + ['.yaml', '.yml', '.ini'] }}- Ini:
- 节:
[defaults]
- 键:
module_ignore_exts
- 环境:
MODULE_STRICT_UTF8_RESPONSE
- 描述:
启用是否评估模块响应以包含非 UTF-8 数据。禁用此项可能会导致意外行为。只有 ansible-core 应该评估此配置。
- 类型:
bool
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
module_strict_utf8_response
- 环境:
NETCONF_SSH_CONFIG
- 描述:
此变量用于通过 netconf 连接启用堡垒机/跳转主机。如果设置为 True,堡垒机/跳转主机 ssh 设置应存在于 ~/.ssh/config 文件中;或者,也可以将其设置为自定义 ssh 配置文件路径以读取堡垒机/跳转主机设置。
- 默认值:
None- Ini:
- 节:
[netconf_connection]
- 键:
ssh_config
- 环境:
NETWORK_GROUP_MODULES
- 类型:
list
- 默认值:
['eos', 'nxos', 'ios', 'iosxr', 'junos', 'enos', 'ce', 'vyos', 'sros', 'dellos9', 'dellos10', 'dellos6', 'asa', 'aruba', 'aireos', 'bigip', 'ironware', 'onyx', 'netconf', 'exos', 'voss', 'slxos']- Ini:
- 节:
[defaults]
- 键:
network_group_modules
- 环境:
OLD_PLUGIN_CACHE_CLEARING
- 描述:
以前 Ansible 在加载新角色时只会清除部分插件加载缓存,这导致了一些插件在以前的剧本中加载后会意外地“粘滞”的行为。此设置允许用户返回到该行为。
- 类型:
布尔值
- 默认值:
False- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
old_plugin_cache_clear
- 环境:
PAGER
- 描述:
对于 Ansible 需要以分页方式返回输出的情况,此项选择要使用的应用程序。
- 默认值:
less- Ini:
- 节:
[defaults]
- 键:
pager
- 添加版本:
2.15
- 环境:
- 变量:
- 添加版本:
2.15
- 变量:
PERSISTENT_COMMAND_TIMEOUT
- 描述:
此项控制在持久连接超时之前等待来自远程设备的响应的时间量。
- 类型:
int
- 默认值:
30- Ini:
- 节:
[persistent_connection]
- 键:
command_timeout
- 环境:
PERSISTENT_CONNECT_RETRY_TIMEOUT
- 描述:
此项控制持久连接尝试连接到本地域套接字的重试超时。
- 类型:
整数
- 默认值:
15- Ini:
- 节:
[persistent_connection]
- 键:
connect_retry_timeout
- 环境:
PERSISTENT_CONNECT_TIMEOUT
- 描述:
此项控制持久连接在销毁前保持空闲的时间。
- 类型:
整数
- 默认值:
30- Ini:
- 节:
[persistent_connection]
- 键:
connect_timeout
- 环境:
PERSISTENT_CONTROL_PATH_DIR
- 描述:
连接持久化系统使用的套接字路径。
- 类型:
path
- 默认值:
{{ ANSIBLE_HOME ~ "/pc" }}- Ini:
- 节:
[persistent_connection]
- 键:
control_path_dir
- 环境:
PLAYBOOK_DIR
- 描述:
许多非剧本 CLI 都有一个
--playbook-dir参数;此项为其设置默认值。- 类型:
path
- 添加版本:
2.9
- Ini:
- 节:
[defaults]
- 键:
playbook_dir
- 环境:
PLAYBOOK_VARS_ROOT
- 描述:
此项设置哪些剧本目录将用作处理变量插件的根目录,包括查找 host_vars/group_vars。
- 默认值:
top- 选项:
- top:
遵循使用链中顶部剧本来查找根目录的传统行为。
- bottom:
遵循使用当前剧本来查找根目录的 2.4.0 行为。
- all:
从第一个父剧本检查到当前剧本。
- 添加版本:
2.4.1
- Ini:
- 节:
[defaults]
- 键:
playbook_vars_root
- 环境:
PLUGIN_FILTERS_CFG
- 描述:
用于过滤允许在系统上使用的已安装插件的配置路径。有关过滤器文件格式的详细信息,请参阅 拒绝模块。默认值为 /etc/ansible/plugin_filters.yml
- 类型:
path
- 默认值:
None- 添加版本:
2.5.0
- Ini:
- 节:
[defaults]
- 键:
plugin_filters_cfg
PYTHON_MODULE_RLIMIT_NOFILE
- 描述:
在执行 Python 模块时,尝试将 RLIMIT_NOFILE 软限制设置为指定值(可以加快 Python 2.x 上的子进程使用速度。参见 https://bugs.python.org/issue11284)。该值将受到现有硬限制的限制。默认值 0 不会尝试调整现有的系统定义限制。
- 默认值:
0- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
python_module_rlimit_nofile
- 环境:
- 变量:
- name:
ansible_python_module_rlimit_nofile
RETRY_FILES_ENABLED
- 描述:
此项控制失败的 Ansible 剧本是否应创建 .retry 文件。
- 类型:
bool
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
retry_files_enabled
- 环境:
RETRY_FILES_SAVE_PATH
- 描述:
此项设置在剧本失败且启用了重试文件时,Ansible 保存 .retry 文件的路径。此文件将在每次运行后被覆盖,包含所有剧本中失败的主机列表。
- 类型:
path
- 默认值:
None- Ini:
- 节:
[defaults]
- 键:
retry_files_save_path
- 环境:
RUN_VARS_PLUGINS
- 描述:
此设置可用于根据用户清单大小和剧本选择来优化 vars_plugin 的使用。
- 类型:
str
- 默认值:
demand- 选项:
- demand:
每当任务“需求”变量时,将相对于清单来源运行 vars_plugins。
- start:
在导入该清单来源后,将相对于清单来源运行 vars_plugins。
- 添加版本:
2.10
- Ini:
- 节:
[defaults]
- 键:
run_vars_plugins
- 环境:
SHOW_CUSTOM_STATS
- 描述:
这将通过 set_stats 插件设置的自定义统计信息添加到默认输出中。
- 类型:
bool
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
show_custom_stats
- 环境:
SSH_AGENT
- 描述:
通过 Ansible 管理 SSH 代理。配置为
none将不会与代理交互,auto将在运行期间通过ssh-agent二进制文件启动并销毁代理,而 SSH_AUTH_SOCK 的路径将允许与预先存在的代理交互。- 类型:
字符串
- 默认值:
none- 添加版本:
2.19
- Ini:
- 节:
[connection]
- 键:
ssh_agent
- 环境:
SSH_AGENT_EXECUTABLE
- 描述:
当
SSH_AGENT为auto时,要启动的 ssh 代理可执行文件的路径或名称。- 类型:
str
- 默认值:
ssh-agent- 添加版本:
2.19
- Ini:
- 节:
[connection]
- 键:
ssh_agent_executable
- 环境:
SSH_AGENT_KEY_LIFETIME
- 描述:
对于插入到由
SSH_AGENT定义的代理中的密钥,定义密钥可以在代理中保留的生命周期(以秒为单位)。- 类型:
int
- 添加版本:
2.19
- Ini:
- 节:
[connection]
- 键:
ssh_agent_key_lifetime
- 环境:
STRING_TYPE_FILTERS
- 描述:
此过滤器列表在模板化变量时避免 ‘类型转换’。例如,当您想避免转换为 JSON 字符串的列表或字典时很有用。
- 类型:
list
- 默认值:
['string', 'to_json', 'to_nice_json', 'to_yaml', 'to_nice_yaml', 'ppretty', 'json']- Ini:
- 节:
[jinja2]
- 键:
dont_type_filters
- 环境:
- 注意:
此配置现已弃用,并计划删除。您应该更新到当前的替代方案。
- 计划移除:
2.23
- 弃用原因:
此选项无效。
- 当前替代方案:
无;过滤器返回的本机类型始终被保留。
SYSTEM_WARNINGS
- 描述:
允许禁用与运行 Ansible 本身的系统上的潜在问题相关的警告(而不是在托管主机上)。这些可能包括有关第三方包或如果可能应解决的其他条件的警告。
- 类型:
布尔值
- 默认值:
True- Ini:
- 节:
[defaults]
- 键:
system_warnings
- 环境:
TARGET_LOG_INFO
- 描述:
为了跟踪目的插入目标日志的字符串。
- 添加版本:
2.17
- Ini:
- 节:
[defaults]
- 键:
target_log_info
- 环境:
- 变量:
- name:
ansible_target_log_info
TASK_DEBUGGER_IGNORE_ERRORS
- 描述:
此选项定义当指定 ignore_errors=True 时,任务调试器是否将在失败的任务上调用。True 指定调试器将遵守 ignore_errors,False 将不遵守。
- 类型:
布尔值
- 默认值:
True- 添加版本:
2.7
- Ini:
- 节:
[defaults]
- 键:
task_debugger_ignore_errors
- 环境:
TASK_TIMEOUT
- 描述:
设置任务操作执行的最长时间(以秒为单位)。超时独立于模板化或循环运行。它适用于执行任务操作的每次尝试,并且不会因任务所花费的总时间而改变。当操作执行超过超时时间时,Ansible 会中断进程。这被注册为外部情况导致的失败,而不是任务本身的失败,以便接收适当的响应和恢复过程。如果设置为 0(默认值),则没有超时。
- 类型:
整数
- 默认值:
0- 添加版本:
2.10
- Ini:
- 节:
[defaults]
- 键:
task_timeout
- 环境:
TRANSFORM_INVALID_GROUP_CHARS
- 描述:
使 Ansible 转换清单来源提供的组名称中的无效字符。
- 类型:
字符串
- 默认值:
never- 选项:
- always:
它会将任何无效字符替换为 ‘_’(下划线)并警告用户
- never:
它将允许组名称但警告该问题
- ignore:
它的作用与 ‘never’ 相同,但不发出警告
- silently:
它的作用与 ‘always’ 相同,但不发出警告
- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
force_valid_group_names
- 环境:
USE_PERSISTENT_CONNECTIONS
- 描述:
切换连接是否使用持久化。
- 类型:
布尔值
- 默认值:
False- Ini:
- 节:
[defaults]
- 键:
use_persistent_connections
- 环境:
VALIDATE_ACTION_GROUP_METADATA
- 描述:
切换以禁用验证模块的 module_defaults 操作组的集合 ‘元数据’ 条目。当此项为 True 时,包含意外字段或值类型的元数据将产生警告。
- 类型:
bool
- 默认值:
True- 添加版本:
2.12
- Ini:
- 节:
[defaults]
- 键:
validate_action_group_metadata
- 环境:
VARIABLE_PLUGINS_ENABLED
- 描述:
需要此设置的变量插件的允许列表。
- 类型:
list
- 默认值:
['host_group_vars']- 添加版本:
2.10
- Ini:
- 节:
[defaults]
- 键:
vars_plugins_enabled
- 环境:
VARIABLE_PRECEDENCE
- 描述:
允许更改组变量优先级合并顺序。
- 类型:
list
- 默认值:
['all_inventory', 'groups_inventory', 'all_plugins_inventory', 'all_plugins_play', 'groups_plugins_inventory', 'groups_plugins_play']- 添加版本:
2.4
- Ini:
- 节:
[defaults]
- 键:
precedence
- 环境:
VAULT_ENCRYPT_SALT
- 描述:
用于 vault 加密的盐(salt)。如果不提供,将使用随机盐。
- 默认值:
None- 添加版本:
2.15
- Ini:
- 节:
[defaults]
- 键:
vault_encrypt_salt
- 环境:
VERBOSE_TO_STDERR
- 描述:
强制 ‘verbose’ 选项使用 stderr 而不是 stdout。
- 类型:
bool
- 默认值:
False- 添加版本:
2.8
- Ini:
- 节:
[defaults]
- 键:
verbose_to_stderr
- 环境:
WIN_ASYNC_STARTUP_TIMEOUT
- 描述:
对于 Ansible 中的异步任务(涵盖在“异步操作和轮询”中),这是等待 Ansible 生成的任务连接回 Windows 系统上使用的命名管道的时间(以秒为单位)。默认值为 5 秒。在较慢的系统或负载较重的系统上,这可能设置得太低。这不是异步命令可以运行的总时间,而是等待异步命令启动的单独超时时间。任务一旦连接到管道,就会开始对其 async_timeout 进行计时,因此任务可以采用的总持续时间将由此处指定的时间量延长。
- 类型:
整数
- 默认值:
5- 添加版本:
2.10
- Ini:
- 节:
[defaults]
- 键:
win_async_startup_timeout
- 环境:
- 变量:
- name:
ansible_win_async_startup_timeout
WORKER_SESSION_ISOLATION
- 描述:
Ansible 分叉的工作进程默认在会话隔离状态下运行,以避免共享 TTY 上的争用。如果需要访问继承的父 TTY,请将此选项设置为
false以禁用会话隔离。禁用会话隔离应通过在单个任务、块、剧本、角色或主机上根据需要设置ansible_worker_session_isolation变量来限制在尽可能小的范围内。- 类型:
布尔值
- 默认值:
True- 添加版本:
2.21
- Ini:
- 节:
[defaults]
- 键:
worker_session_isolation
- 环境:
- 变量:
- name:
ansible_worker_session_isolation
WORKER_SHUTDOWN_POLL_COUNT
- 描述:
检查任务队列管理器工作进程以验证它们是否已干净退出的最大次数。达到此限制后,任何仍在运行的工作进程都将被终止。此项仅供内部使用。
- 类型:
整数
- 默认值:
0- 添加版本:
2.10
- 环境:
WORKER_SHUTDOWN_POLL_DELAY
- 描述:
在检查任务队列管理器工作进程以验证它们是否已干净退出时,轮询循环之间休眠的秒数。此项仅供内部使用。
- 类型:
float
- 默认值:
0.1- 添加版本:
2.10
- 环境:
YAML_FILENAME_EXTENSIONS
- 描述:
在查找应为 YAML 或 JSON 或这些格式的加密版本的‘变量’文件时,检查所有这些扩展名。这会影响 vars_files、include_vars、清单和变量插件等。
- 类型:
list
- 默认值:
['.yml', '.yaml', '.json']- Ini:
- 节:
[defaults]
- 键:
yaml_valid_extensions
- 环境:
环境变量
可以在 所有集合环境变量索引 中找到用于配置集合中插件的其他环境变量。
- ANSIBLE_CONFIG
覆盖默认的 ansible 配置文件
- ANSIBLE_ALLOW_BROKEN_CONDITIONALS
启用时,此选项允许使用具有非布尔结果的条件。在这种情况下将发出弃用警告。默认情况下,非布尔条件会导致错误。此类结果通常表明在不支持的地方无意使用了模板,导致条件始终为真。当启用此选项时,为了向后兼容,作为字面量
None或空字符串的条件表达式将被评估为真。
- ANSIBLE_ALLOW_EMBEDDED_TEMPLATES
启用时,此选项允许将嵌入式模板用于特定的向后兼容场景。在这种情况下将发出弃用警告。首先,完全包含在模板定界符中的条件(例如
failed_when、until、assert.that)。其次,条件中的字符串常量(例如when: some_var == '{{ some_other_var }}')。最后,查找的位置参数(例如lookup('pipe', 'echo {{ some_var }}'))。此功能已弃用,因为在这些情况下嵌入式模板是不必要的。禁用时,使用嵌入式模板将导致错误。未来的版本将默认禁用此功能。
- ANSIBLE_HOME
控制器上 Ansible 配置文件的默认根路径。
另请参阅 ANSIBLE_HOME
- ANSIBLE_COW_SELECTION
这允许您为横幅选择特定的 cowsay 模板,或使用‘random’进行轮换。
- ANSIBLE_COW_ACCEPTLIST
接受一个可安全使用的 cowsay 模板列表,如果您想启用所有已安装的模板,请将其设置为空列表。
- 添加版本:
2.11
- ANSIBLE_FORCE_COLOR
即使在没有 TTY 或 “nocolor” 设置为 True 的情况下运行时,此选项也会强制使用颜色模式。
另请参阅 ANSIBLE_FORCE_COLOR
- ANSIBLE_NOCOLOR
此设置允许抑制彩色输出,该输出用于更好地指示故障和状态信息。
另请参阅 ANSIBLE_NOCOLOR
- NO_COLOR
此设置允许抑制彩色输出,该输出用于更好地指示故障和状态信息。
另请参阅 ANSIBLE_NOCOLOR
- 添加版本:
2.11
- ANSIBLE_NOCOWS
如果您安装了 cowsay 但想避免‘奶牛’(为什么???),请使用此项。
另请参阅 ANSIBLE_NOCOWS
- ANSIBLE_COW_PATH
指定自定义 cowsay 路径或切换为您选择的 cowsay 实现。
另请参阅 ANSIBLE_COW_PATH
- ANSIBLE_PIPELINING
这是一个全局选项,每个连接插件都可以通过设置更具体的选项或完全不支持流水线(pipelining)来进行覆盖。如果连接插件支持流水线,它可以通过在不进行实际文件传输的情况下执行许多 Ansible 模块,从而减少在远程服务器上执行模块所需的网络操作数量。启用后,这可以带来非常显著的性能提升。然而,这与权限提升(become)存在冲突。例如,在使用 'sudo:' 操作时,必须首先在所有受管主机上的 /etc/sudoers 中禁用 'requiretty',这就是默认情况下禁用它的原因。如果启用了
ANSIBLE_KEEP_REMOTE_FILES,此设置将被禁用。另请参阅 ANSIBLE_PIPELINING
- ANSIBLE_ANY_ERRORS_FATAL
设置 any_errors_fatal 关键字的默认值,如果为 True,任务失败将被视为致命错误。
另请参阅 ANY_ERRORS_FATAL
- ANSIBLE_BECOME_ALLOW_SAME_USER
当为
False(默认值)时,如果远程用户与 become 用户相同,Ansible 将跳过使用 become,因为这通常是冗余操作。换句话说,即 root sudo 到 root。如果为True,则强制 Ansible 无论如何都使用 become 插件,因为在某些情况下这是必须的。
- ANSIBLE_BECOME_PASSWORD_FILE
用于 become 插件的密码文件。
--become-password-file。如果是可执行文件,它将被运行,并将产生的标准输出(stdout)用作密码。另请参阅 BECOME_PASSWORD_FILE
- ANSIBLE_AGNOSTIC_BECOME_PROMPT
显示一个通用的提权提示,而不是显示包含命令行提供提权方法的提示。
- ANSIBLE_CACHE_PLUGIN
选择使用哪个事实缓存插件。默认情况下,不使用缓存,事实在运行之间不会持久存在。
另请参阅 CACHE_PLUGIN
- ANSIBLE_CACHE_PLUGIN_CONNECTION
定义事实缓存插件的连接或路径信息。
- ANSIBLE_CACHE_PLUGIN_PREFIX
用于事实缓存插件文件/表的前缀。
另请参阅 CACHE_PLUGIN_PREFIX
- ANSIBLE_CACHE_PLUGIN_TIMEOUT
事实缓存插件数据的过期超时时间。
另请参阅 CACHE_PLUGIN_TIMEOUT
- ANSIBLE_COLLECTIONS_SCAN_SYS_PATH
启用或禁用扫描 sys.path 以获取已安装集合的布尔值。
- ANSIBLE_COLLECTIONS_PATH
Ansible 将在其中搜索集合内容的冒号分隔路径。集合必须位于嵌套的 子目录 中,而不是直接位于这些目录中。例如,如果
COLLECTIONS_PATHS包含'{{ ANSIBLE_HOME ~ "/collections" }}',并且您想在该目录中添加my.collection,它必须保存为'{{ ANSIBLE_HOME ~ "/collections/ansible_collections/my/collection" }}'。另请参阅 COLLECTIONS_PATHS
- 添加版本:
2.10
- ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH
当加载不支持正在运行的 Ansible 版本(带有集合元数据键 requires_ansible)的集合时。
- ANSIBLE_COLOR_CHANGED
定义在 ‘Changed’ 任务状态下使用的颜色。
另请参阅 COLOR_CHANGED
- ANSIBLE_COLOR_CONSOLE_PROMPT
定义用于 ansible-console 的默认颜色。
另请参阅 COLOR_CONSOLE_PROMPT
- ANSIBLE_COLOR_DEBUG
定义在发出调试消息时使用的颜色。
另请参阅 COLOR_DEBUG
- ANSIBLE_COLOR_DEPRECATE
定义在发出弃用消息时使用的颜色。
另请参阅 COLOR_DEPRECATE
- ANSIBLE_COLOR_DIFF_ADD
定义在显示差异中的添加行时使用的颜色。
另请参阅 COLOR_DIFF_ADD
- ANSIBLE_COLOR_DIFF_LINES
定义在显示差异时使用的颜色。
另请参阅 COLOR_DIFF_LINES
- ANSIBLE_COLOR_DIFF_REMOVE
定义在显示差异中的删除行时使用的颜色。
另请参阅 COLOR_DIFF_REMOVE
- ANSIBLE_COLOR_ERROR
定义在发出错误消息时使用的颜色。
另请参阅 COLOR_ERROR
- ANSIBLE_COLOR_HIGHLIGHT
定义用于高亮的颜色。
另请参阅 COLOR_HIGHLIGHT
- ANSIBLE_COLOR_INCLUDED
定义在显示 ‘Included’ 任务状态时使用的颜色。
另请参阅 COLOR_INCLUDED
- ANSIBLE_COLOR_SKIP
定义在显示 ‘Skipped’ 任务状态时使用的颜色。
另请参阅 COLOR_SKIP
- ANSIBLE_COLOR_UNREACHABLE
定义在 ‘Unreachable’ 状态下使用的颜色。
另请参阅 COLOR_UNREACHABLE
- ANSIBLE_COLOR_VERBOSE
定义在发出详细消息时使用的颜色。换句话说,即那些随 ‘-v’ 显示的消息。
另请参阅 COLOR_VERBOSE
- ANSIBLE_COLOR_WARN
定义在发出警告消息时使用的颜色。
另请参阅 COLOR_WARN
- ANSIBLE_COLOR_DOC_MODULE
定义在 ansible-doc 输出中发出模块名称时使用的颜色。
另请参阅 COLOR_DOC_MODULE
- ANSIBLE_COLOR_DOC_REFERENCE
定义在 ansible-doc 输出中发出交叉引用时使用的颜色。
另请参阅 COLOR_DOC_REFERENCE
- ANSIBLE_COLOR_DOC_LINK
定义在 ansible-doc 输出中发出链接时使用的颜色。
另请参阅 COLOR_DOC_LINK
- ANSIBLE_COLOR_DOC_DEPRECATED
定义在 ansible-doc 输出中发出弃用值时使用的颜色。
另请参阅 COLOR_DOC_DEPRECATED
- ANSIBLE_COLOR_DOC_CONSTANT
定义在 ansible-doc 输出中发出常量时使用的颜色。
另请参阅 COLOR_DOC_CONSTANT
- ANSIBLE_COLOR_DOC_PLUGIN
定义在 ansible-doc 输出中发出插件名称时使用的颜色。
另请参阅 COLOR_DOC_PLUGIN
- ANSIBLE_CONNECTION_PASSWORD_FILE
用于连接插件的密码文件。
--connection-password-file。
- _ANSIBLE_COVERAGE_REMOTE_OUTPUT
设置远程主机上用于生成覆盖率报告的输出目录。目前仅用于 PowerShell 模块的远程覆盖率。此设置仅供内部使用。
- _ANSIBLE_COVERAGE_REMOTE_PATH_FILTER
当在远程主机上执行时,Ansible 控制器上需要运行覆盖率检查的文件路径列表。只有匹配路径通配符的文件才会收集其覆盖率。可以指定多个路径通配符,并用
:分隔。目前仅用于 PowerShell 模块的远程覆盖率。此设置仅供内部使用。
- ANSIBLE_ACTION_WARNINGS
默认情况下,当从任务动作(模块或动作插件)接收到信息时,Ansible 将发出警告。通过将此设置调整为 False,可以消除这些警告。
另请参阅 ACTION_WARNINGS
- ANSIBLE_LOCALHOST_WARNING
默认情况下,当清单中没有主机时,Ansible 将发出警告。通过将此设置调整为 False,可以消除这些警告。
另请参阅 LOCALHOST_WARNING
- ANSIBLE_LOG_VERBOSITY
如果高于正常显示详细级别,这将设置日志详细级别,否则它将与正常详细级别匹配。
另请参阅 LOG_VERBOSITY
- ANSIBLE_INVENTORY_UNPARSED_WARNING
默认情况下,当没有加载清单文件时,Ansible 将发出警告,并说明将使用隐式的仅包含 localhost 的清单。通过将此设置调整为 False,可以消除这些警告。
- ANSIBLE_DOC_FRAGMENT_PLUGINS
冒号分隔的路径列表,Ansible 将在这些路径中搜索文档片段插件。
- ANSIBLE_ACTION_PLUGINS
Ansible 搜索 Action 插件的冒号分隔路径。
- ANSIBLE_ASK_PASS
此选项控制 Ansible Playbook 是否应提示输入登录密码。如果使用 SSH 密钥进行身份验证,您可能不需要更改此设置。
另请参阅 DEFAULT_ASK_PASS
- ANSIBLE_ASK_VAULT_PASS
此选项控制 Ansible Playbook 是否应提示输入 vault 密码。
- ANSIBLE_BECOME
切换是否使用权限提升,允许您在登录后‘成为’另一个用户。
另请参阅 DEFAULT_BECOME
- ANSIBLE_BECOME_ASK_PASS
切换是否提示输入权限提升密码。
- ANSIBLE_BECOME_METHOD
启用 become 时使用的权限提升方法。
- ANSIBLE_BECOME_EXE
用于权限提升的可执行文件,否则 Ansible 将依赖 PATH。
另请参阅 DEFAULT_BECOME_EXE
- ANSIBLE_BECOME_FLAGS
传递给权限提升可执行文件的标志。
另请参阅 DEFAULT_BECOME_FLAGS
- ANSIBLE_BECOME_PLUGINS
Ansible 搜索 Become 插件的冒号分隔路径。
另请参阅 BECOME_PLUGIN_PATH
- ANSIBLE_BECOME_USER
使用权限提升时,您的登录/远程用户‘成为’的用户,大多数系统在未指定用户时会使用 ‘root’。
另请参阅 DEFAULT_BECOME_USER
- ANSIBLE_CACHE_PLUGINS
Ansible 搜索 Cache 插件的冒号分隔路径。
- ANSIBLE_CALLBACK_PLUGINS
Ansible 搜索 Callback 插件的冒号分隔路径。
- ANSIBLE_CALLBACKS_ENABLED
已启用回调的列表。并非所有回调都需要启用,但许多随 Ansible 附带的回调确实需要,因为我们不希望它们默认被激活。
另请参阅 CALLBACKS_ENABLED
- 添加版本:
2.11
- ANSIBLE_CLICONF_PLUGINS
Ansible 搜索 Cliconf 插件的冒号分隔路径。
- ANSIBLE_CONNECTION_PLUGINS
Ansible 搜索 Connection 插件的冒号分隔路径。
- ANSIBLE_DEBUG
切换 Ansible 中的调试输出。这 非常 详细且可能阻碍多进程。尽管启用了 no_log 设置,但调试输出也可能包含秘密信息,这意味着调试模式不应在生产环境中使用。
另请参阅 DEFAULT_DEBUG
- ANSIBLE_EXECUTABLE
这表示用于生成 shell 的命令,这是 Ansible 在目标上执行需求所必需的。在 shell 使用受限的极少数情况下,用户可能需要更改此设置,但在大多数情况下,可以保持原样。
另请参阅 DEFAULT_EXECUTABLE
- ANSIBLE_FILTER_PLUGINS
Ansible 搜索 Jinja2 Filter 插件的冒号分隔路径。
- ANSIBLE_FORCE_HANDLERS
此选项控制即使主机上发生故障,已通知的处理程序(handlers)是否仍会在该主机上运行。如果为 false,则当主机发生故障时,处理程序将不会运行。这也可以按 play 设置或在命令行中设置。有关详细信息,请参阅“处理程序与故障”。
- ANSIBLE_FORKS
Ansible 用于在目标主机上执行任务的最大 fork 数。
另请参阅 DEFAULT_FORKS
- ANSIBLE_GATHERING
此设置控制事实收集(关于远程系统发现的事实)的默认策略。此选项对于希望节省事实收集时间的人很有用。“smart” 和 “explicit” 都将使用缓存插件。
另请参阅 DEFAULT_GATHERING
- ANSIBLE_HASH_BEHAVIOUR
此设置控制 Ansible 如何处理字典变量(又称哈希、映射、关联数组)的重复定义。这不会影响值为标量(整数、字符串)或数组的变量。**警告**,不建议更改此设置,因为这很脆弱,会使您的内容(playbook、角色、集合)不可移植,并导致持续的混乱和滥用。除非您认为绝对需要,否则不要更改此设置。我们建议避免重用变量名称,并依赖
combine过滤器以及vars和varnames查找来创建单个变量的合并版本。根据我们的经验,这很少被需要,并且迹象表明数据结构和 playbook 中引入了太多的复杂性。对于某些用途,您还可以查看自定义 vars_plugins 以在输入时进行合并,甚至替换负责解析host_vars/和group_vars/目录的默认host_group_vars。此设置的大多数用户只对清单范围感兴趣,但设置本身会影响所有来源,并使调试更加困难。官方示例库中的所有 playbook 和角色都假设此设置为默认值。将设置更改为merge会应用于所有变量源,但许多源在内部仍会覆盖变量。例如,include_vars会在更新 Ansible 之前在内部删除重复变量,并以“最后定义”覆盖同一文件中的先前定义。Ansible 项目建议您 **在新项目中避免使用 ``merge``。** Ansible 开发人员打算最终弃用并删除此设置,但由于一些用户确实严重依赖它,因此保留了该设置。新项目应 **避免使用 ‘merge’**。
- ANSIBLE_INVENTORY
Ansible 清单源的逗号分隔列表
另请参阅 DEFAULT_HOST_LIST
- ANSIBLE_HTTPAPI_PLUGINS
Ansible 搜索 HttpApi 插件的冒号分隔路径。
- ANSIBLE_INVENTORY_PLUGINS
Ansible 搜索 Inventory 插件的冒号分隔路径。
- ANSIBLE_JINJA2_EXTENSIONS
这是一个开发人员特定的功能,允许启用额外的 Jinja2 扩展。有关详细信息,请参阅 Jinja2 文档。如果您不知道这些有什么作用,您可能不需要更改此设置 :)
- ANSIBLE_JINJA2_NATIVE
此选项在模板操作期间保留变量类型。
- ANSIBLE_KEEP_REMOTE_FILES
启用/禁用清理 Ansible 用于在远程主机上执行任务的临时文件。如果启用了此选项,将禁用
ANSIBLE_PIPELINING。
- ANSIBLE_LOAD_CALLBACK_PLUGINS
控制在运行 /usr/bin/ansible 时是否加载回调插件。这可用于记录命令行活动、发送通知等。回调插件始终为
ansible-playbook加载。
- ANSIBLE_LOCAL_TEMP
Ansible 在控制器上使用的临时目录。
另请参阅 DEFAULT_LOCAL_TMP
- ANSIBLE_LOG_PATH
Ansible 将在控制器上记录日志的文件。如果不设置,则禁用日志记录。
另请参阅 DEFAULT_LOG_PATH
- ANSIBLE_LOG_FILTER
要从日志文件中过滤掉的记录器名称列表。
另请参阅 DEFAULT_LOG_FILTER
- ANSIBLE_LOOKUP_PLUGINS
Ansible 搜索 Lookup 插件的冒号分隔路径。
- ANSIBLE_MODULE_ARGS
如果未指定
-a,则设置传递给ansible即席二进制文件的默认参数。另请参阅 DEFAULT_MODULE_ARGS
- ANSIBLE_LIBRARY
Ansible 搜索模块的冒号分隔路径。
另请参阅 DEFAULT_MODULE_PATH
- ANSIBLE_MODULE_UTILS
冒号分隔的路径列表,Ansible 将在这些路径中搜索模块使用的工具文件(由模块共享)。
- ANSIBLE_NETCONF_PLUGINS
冒号分隔的路径列表,Ansible 将在这些路径中搜索 Netconf 插件。
- ANSIBLE_NO_LOG
切换 Ansible 对任务详情的显示和日志记录,主要用于避免安全信息泄露。
另请参阅 DEFAULT_NO_LOG
- ANSIBLE_NO_TARGET_SYSLOG
切换 Ansible 在执行任务时是否将日志记录到目标主机的 syslog。在 Windows 主机上,这将禁用较新样式的 PowerShell 模块写入事件日志。
- ANSIBLE_NULL_REPRESENTATION
模板引擎应将什么作为“空”(null)值返回。如果未设置,则由 Jinja2 决定。
- ANSIBLE_POLL_INTERVAL
对于 Ansible 中的异步任务(涵盖在“异步操作和轮询”中),当未提供显式轮询间隔时,这是检查任务状态的频率。默认值是 15 秒,这是一个合理的折中方案,平衡了频繁检查和任务完成后的快速响应。
- ANSIBLE_PRIVATE_KEY_FILE
用于证书或密钥文件身份验证的连接选项,而不是使用代理或密码。您可以在此处设置默认值,以避免在每次调用时重复指定
--private-key。
- ANSIBLE_PRIVATE_ROLE_VARS
默认情况下,导入的角色会将其变量发布到 play 和其他角色中,此设置可以避免这种情况。这是作为在 playbook 中多次使用角色时将角色变量重置为默认值的一种方式引入的。从 '2.17' 版本开始,M(ansible.builtin.include_roles) 和 M(ansible.builtin.import_roles) 可以通过 C(public) 参数单独覆盖此设置。被包含的角色仅在执行时使其变量公开,这与导入的角色在 playbook 编译时使其变量公开不同。
- ANSIBLE_REMOTE_PORT
远程连接使用的端口,为空时将使用连接插件的默认值。
另请参阅 DEFAULT_REMOTE_PORT
- ANSIBLE_REMOTE_USER
设置目标机器的登录用户。当为空时,它将使用连接插件的默认值,通常是当前运行 Ansible 的用户。
另请参阅 DEFAULT_REMOTE_USER
- ANSIBLE_ROLES_PATH
冒号分隔的路径列表,Ansible 将在这些路径中搜索角色(Roles)。
另请参阅 DEFAULT_ROLES_PATH
- ANSIBLE_SELINUX_SPECIAL_FS
某些文件系统不支持安全操作和/或返回不一致的错误,此设置使 Ansible “容忍”列表中的那些文件系统,而不会导致致命错误。当文件系统在列表中时,可能会发生数据损坏,且写入操作并不总是经过验证。
另请参阅 DEFAULT_SELINUX_SPECIAL_FS
- 添加版本:
2.9
- ANSIBLE_STDOUT_CALLBACK
设置用于显示 Ansible 输出的主要回调。您一次只能拥有一个。您可以拥有许多其他回调,但只有一个可以负责 stdout。请参阅 回调插件 以获取可用选项列表。
- ANSIBLE_ENABLE_TASK_DEBUGGER
是否启用任务调试器,这以前是作为策略插件完成的。现在所有策略插件都可以继承此行为。调试器默认在任务因不可达而失败时激活。使用 debugger 关键字以获得更大的灵活性。
另请参阅 ENABLE_TASK_DEBUGGER
- ANSIBLE_TASK_DEBUGGER_IGNORE_ERRORS
此选项定义当指定 ignore_errors=True 时,任务调试器是否会在失败的任务上被调用。True 指定调试器将遵守 ignore_errors,False 则不会遵守 ignore_errors。
- ANSIBLE_STRATEGY
设置用于剧本(plays)的默认策略。
另请参阅 DEFAULT_STRATEGY
- ANSIBLE_STRATEGY_PLUGINS
冒号分隔的路径列表,Ansible 将在这些路径中搜索策略插件。
- ANSIBLE_SU
切换任务是否使用 “su”。
另请参阅 DEFAULT_SU
- ANSIBLE_SYSLOG_FACILITY
当 Ansible 记录到远程目标时使用的系统日志设备(facility)。
- ANSIBLE_TERMINAL_PLUGINS
冒号分隔的路径列表,Ansible 将在这些路径中搜索终端插件。
- ANSIBLE_TEST_PLUGINS
冒号分隔的路径列表,Ansible 将在这些路径中搜索 Jinja2 测试插件。
- ANSIBLE_TIMEOUT
这是连接插件使用的默认超时时间。
另请参阅 DEFAULT_TIMEOUT
- ANSIBLE_TRANSPORT
可以是 Ansible 安装中可用的任何连接插件。
另请参阅 DEFAULT_TRANSPORT
- ANSIBLE_ERROR_ON_UNDEFINED_VARS
当为 True 时,这会导致 Ansible 模板在引用可能拼写错误的变量名时失败。否则,任何包含未定义变量的 ‘{{ template_expression }}’ 都将完全按照所写内容在模板或 Ansible 动作行中呈现。
- ANSIBLE_VARS_PLUGINS
冒号分隔的路径列表,Ansible 将在这些路径中搜索变量插件(Vars Plugins)。
- ANSIBLE_VAULT_ID_MATCH
如果为 true,则使用 vault id 解密 vault 时将仅尝试使用匹配 vault-id 的密码。
- ANSIBLE_VAULT_IDENTITY
当未提供 vault id 标签时使用的默认 vault id 标签。
- ANSIBLE_VAULT_ENCRYPT_SALT
用于 vault 加密的盐(salt)。如果不提供,将使用随机盐。
另请参阅 VAULT_ENCRYPT_SALT
- ANSIBLE_VAULT_ENCRYPT_IDENTITY
默认用于加密的 vault_id。如果提供了多个 vault_id,此项指定加密时使用的 ID。命令行选项
--encrypt-vault-id会覆盖此配置值。
- ANSIBLE_VAULT_IDENTITY_LIST
默认使用的 vault-id 列表。等同于多个
--vault-id参数。Vault-id 将按顺序尝试使用。
- ANSIBLE_VAULT_PASSWORD_FILE
要使用的 Vault 密码文件。等同于
--vault-password-file或--vault-id。如果是可执行文件,它将被运行,并将产生的标准输出(stdout)用作密码。
- ANSIBLE_VERBOSITY
设置默认详细级别,等同于在命令行中传递的
-v的数量。另请参阅 DEFAULT_VERBOSITY
- ANSIBLE_DEPRECATION_WARNINGS
切换以控制是否显示弃用警告。
另请参阅 DEPRECATION_WARNINGS
- ANSIBLE_DEVEL_WARNING
切换以控制是否显示与运行开发版(devel)相关的警告。
另请参阅 DEVEL_WARNING
- ANSIBLE_DIFF_ALWAYS
配置切换开关,告知模块在处于 ‘changed’ 状态时显示差异,等同于
--diff。另请参阅 DIFF_ALWAYS
- ANSIBLE_DIFF_CONTEXT
在显示文件差异时要显示的上下文行数。
另请参阅 DIFF_CONTEXT
- ANSIBLE_DISPLAY_ARGS_TO_STDOUT
通常
ansible-playbook会为运行的每个任务打印一个标题。如果您指定了任务中的 name: 字段,这些标题将包含该字段。如果您没有指定,则ansible-playbook将使用任务的动作来帮助您识别当前正在运行的任务。有时您会运行许多相同的动作,因此您需要关于任务的更多信息,以便将其与同一动作的其他任务区分开。如果您在配置中将此变量设置为 True,则ansible-playbook还将在标题中包含任务的参数。此设置默认设为 False,因为您的参数中可能包含敏感值,而您不希望这些值被打印出来。如果您将其设置为 True,您应确保已保护好环境的 stdout(没有人能窥视您的屏幕,且您没有将 stdout 保存到不安全的文件中),或者确保您的所有 playbook 已显式地为具有敏感值的任务添加了no_log: True参数。有关更多信息,请参阅 我该如何在 playbook 中保存机密数据?。
- ANSIBLE_DISPLAY_SKIPPED_HOSTS
切换以控制在默认回调的任务中是否显示跳过的任务/主机条目。
- ANSIBLE_DISPLAY_TRACEBACK
何时在扩展错误消息中包含回溯信息。
另请参阅 DISPLAY_TRACEBACK
- ANSIBLE_DUPLICATE_YAML_DICT_KEY
默认情况下,当在 YAML 中遇到重复的字典键时,Ansible 将发出警告。通过将此设置调整为 False,可以消除这些警告。
- ANSIBLE_ERROR_ON_MISSING_HANDLER
切换以允许在通知时缺失的处理程序(handler)成为警告而不是错误。
- ANSIBLE_FACTS_MODULES
在 play 的事实收集阶段运行哪些模块。使用默认的 ‘smart’ 将尝试根据连接类型找出答案。如果添加了自己的模块,但仍想使用默认的 Ansible 事实,则需要将 ‘setup’ 或相应的网络模块包含在列表中(如果添加了 ‘smart’,Ansible 也会自动识别)。这不会影响对 ‘setup’ 模块的显式调用,但总是会影响 ‘gather_facts’ 动作(隐式或显式)。
另请参阅 FACTS_MODULES
- ANSIBLE_GALAXY_IGNORE
如果设置为 yes,ansible-galaxy 将不验证 TLS 证书。这对于针对使用自签名证书的服务器进行测试非常有用。
另请参阅 GALAXY_IGNORE_CERTS
- ANSIBLE_GALAXY_SERVER_TIMEOUT
Galaxy API 调用的默认超时时间。未配置特定超时的 Galaxy 服务器将回退到此值。
- ANSIBLE_GALAXY_ROLE_SKELETON
用作
ansible-galaxy/ansible-galaxy role中init操作模板的角色骨架目录,与--role-skeleton相同。另请参阅 GALAXY_ROLE_SKELETON
- ANSIBLE_GALAXY_ROLE_SKELETON_IGNORE
Galaxy 角色或集合骨架目录内要忽略的文件模式。
- ANSIBLE_GALAXY_COLLECTION_SKELETON
用作
ansible-galaxy collection中init操作模板的集合骨架目录,与--collection-skeleton相同。
- ANSIBLE_GALAXY_COLLECTION_SKELETON_IGNORE
Galaxy 集合骨架目录内要忽略的文件模式。
- ANSIBLE_GALAXY_COLLECTIONS_PATH_WARNING
是否在
ansible-galaxy collection install中针对配置的 COLLECTIONS_PATHS 中缺失--collections-path发出警告。
- ANSIBLE_GALAXY_SERVER
当角色未指定完整 URI 时要预置的 URL,假定它们将此服务器作为源引用。
另请参阅 GALAXY_SERVER
- ANSIBLE_GALAXY_SERVER_LIST
安装集合时要使用的 Galaxy 服务器列表。该值对应于配置文件 ini 标题
[galaxy_server.{{item}}],它定义了服务器详细信息。有关如何定义 Galaxy 服务器的更多详细信息,请参阅 配置 ansible-galaxy 客户端。此列表中的服务器顺序用作解析集合的顺序。设置此配置选项将忽略 GALAXY_SERVER 配置选项。另请参阅 GALAXY_SERVER_LIST
- ANSIBLE_GALAXY_TOKEN_PATH
galaxy 访问令牌文件的本地路径
另请参阅 GALAXY_TOKEN_PATH
- ANSIBLE_GALAXY_DISPLAY_PROGRESS
ansible-galaxy中的某些步骤会显示一个进度轮,这可能会在某些显示器上或将 stdout 输出到文件时导致问题。此配置选项控制是否显示进度轮。默认情况下,如果 stdout 具有 tty,则显示进度轮。
- ANSIBLE_GALAXY_CACHE_DIR
存储来自 Galaxy 服务器的缓存响应的目录。这仅由
ansible-galaxy collection install和download命令使用。如果此目录中的缓存文件是全局可写的,它们将被忽略。另请参阅 GALAXY_CACHE_DIR
- ANSIBLE_GALAXY_DISABLE_GPG_VERIFY
在集合安装期间禁用 GPG 签名验证。
- ANSIBLE_GALAXY_GPG_KEYRING
配置在集合安装和验证期间用于 GPG 签名验证的密钥环。
另请参阅 GALAXY_GPG_KEYRING
- ANSIBLE_GALAXY_IGNORE_SIGNATURE_STATUS_CODES
在 GPG 签名验证期间要忽略的 GPG 状态代码列表。有关状态代码描述,请参阅 L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes)。如果成功验证集合的签名少于 GALAXY_REQUIRED_VALID_SIGNATURE_COUNT,即使忽略所有错误代码,签名验证也会失败。
- ANSIBLE_GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
在安装或验证集合时,GPG 签名验证期间必须成功的签名数量。这应该是一个正整数,或者使用 “all” 来表示必须成功验证所有签名。在值前添加 +,如果找不到有效的集合签名,则失败。
- ANSIBLE_GALAXY_COLLECTION_IMPORT_POLL_INTERVAL
轮询集合导入状态的初始间隔(以秒为单位)。此间隔根据 GALAXY_COLLECTION_IMPORT_POLL_FACTOR 指数级增加,最大延迟为 30 秒。
- ANSIBLE_GALAXY_COLLECTION_IMPORT_POLL_FACTOR
检查集合导入状态时,用于增加 GALAXY_COLLECTION_IMPORT_POLL_INTERVAL 的乘数。
- ANSIBLE_HOST_KEY_CHECKING
如果您想避免 Ansible 用于连接到主机的底层连接插件进行主机密钥检查,请将其设置为 “False”。有关详细信息,请阅读所使用的特定连接插件的文档。
另请参阅 HOST_KEY_CHECKING
- ANSIBLE_HOST_PATTERN_MISMATCH
此设置改变不匹配主机模式的行为,它允许您强制触发致命错误、警告或直接忽略它。
- ANSIBLE_INJECT_INVOCATION
启用时,
invocation键将被添加到任务结果中,其中包含所使用的模块/操作参数。大多数回调插件默认会从任务结果显示中屏蔽invocation键。另请参阅 INJECT_INVOCATION
- ANSIBLE_PYTHON_INTERPRETER
用于远程目标上模块执行的 Python 解释器路径,或自动发现模式。支持的发现模式有
auto(默认)和auto_silent。所有发现模式都会针对已知的 Python 解释器位置的有序列表进行匹配。回退行为将发出一个应显式设置解释器的警告(因为稍后安装的解释器可能会改变所使用的解释器)。可以通过设置auto_silent来禁用此警告行为。auto_legacy*模式已被删除。它们的存在是为了向后兼容旧版 Ansible,旧版总是默认为/usr/bin/python3,如果存在,则使用该解释器。另请参阅 INTERPRETER_PYTHON
- ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS
使 Ansible 转换清单来源提供的组名称中的无效字符。
- ANSIBLE_INVALID_TASK_ATTRIBUTE_FAILED
如果为 ‘false’,则任务的无效属性将导致警告而不是错误。
- ANSIBLE_INVENTORY_ANY_UNPARSED_IS_FAILED
如果为 ‘true’,当任何给定的清单来源无法被任何可用的清单插件成功解析时,这将是一个致命错误;否则,这种情况只会引起警告。
- ANSIBLE_INVENTORY_ENABLED
已启用清单插件的列表,它也决定了它们被使用的顺序。
另请参阅 INVENTORY_ENABLED
- ANSIBLE_INVENTORY_EXPORT
控制 ansible-inventory 是准确反映 Ansible 对清单的视图,还是针对导出进行优化。
另请参阅 INVENTORY_EXPORT
- ANSIBLE_INVENTORY_IGNORE
当使用目录作为清单源时要忽略的扩展名列表。
- ANSIBLE_INVENTORY_IGNORE_REGEX
当使用目录作为清单源时要忽略的模式列表。
- ANSIBLE_INVENTORY_UNPARSED_FAILED
如果为 ‘true’,则如果每一个潜在的清单源都无法解析,那将是一个致命错误,否则,这种情况只会引起警告。
- ANSIBLE_MAX_DIFF_SIZE
考虑显示差异的文件大小上限。
- ANSIBLE_NETWORK_GROUP_MODULES
- ANSIBLE_INJECT_FACT_VARS
事实可以在 ansible_facts 变量中获得,此设置还将它们作为自己的变量推送到主命名空间中。与在 ansible_facts 字典中不同(前缀 ansible_ 已从事实名称中移除),这些变量将具有模块返回的确切名称。
另请参阅 INJECT_FACTS_AS_VARS
- ANSIBLE_MODULE_IGNORE_EXTS
在查找要加载的模块时要忽略的扩展名列表。这是用于拒绝脚本和二进制模块回退扩展名。
另请参阅 MODULE_IGNORE_EXTS
- ANSIBLE_MODULE_STRICT_UTF8_RESPONSE
启用是否评估模块响应以包含非 UTF-8 数据。禁用此功能可能会导致意外行为。只有 ansible-core 应该评估此配置。
- ANSIBLE_OLD_PLUGIN_CACHE_CLEAR
以前 Ansible 在加载新角色时只会清除部分插件加载缓存,这导致了一些插件在以前的剧本中加载后会意外地“粘滞”的行为。此设置允许用户返回到该行为。
- ANSIBLE_PERSISTENT_CONTROL_PATH_DIR
连接持久化系统使用的套接字路径。
- ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
此项控制持久连接在销毁前保持空闲的时间。
- ANSIBLE_PERSISTENT_CONNECT_RETRY_TIMEOUT
此项控制持久连接尝试连接到本地域套接字的重试超时。
- ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
此项控制在持久连接超时之前等待来自远程设备的响应的时间量。
- ANSIBLE_PLAYBOOK_DIR
许多非剧本 CLI 都有一个
--playbook-dir参数;此项为其设置默认值。另请参阅 PLAYBOOK_DIR
- ANSIBLE_PLAYBOOK_VARS_ROOT
此项设置哪些剧本目录将用作处理变量插件的根目录,包括查找 host_vars/group_vars。
另请参阅 PLAYBOOK_VARS_ROOT
- ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE
在执行 Python 模块时,尝试将 RLIMIT_NOFILE 软限制设置为指定值(可以加快 Python 2.x 上的子进程使用速度。参见 https://bugs.python.org/issue11284)。该值将受到现有硬限制的限制。默认值 0 不会尝试调整现有的系统定义限制。
- ANSIBLE_RETRY_FILES_ENABLED
此项控制失败的 Ansible 剧本是否应创建 .retry 文件。
另请参阅 RETRY_FILES_ENABLED
- ANSIBLE_RETRY_FILES_SAVE_PATH
这设置了当 playbook 失败且重试文件启用时 Ansible 将保存 .retry 文件的路径。此文件将在每次运行后使用所有 playbook 中失败的主机列表进行覆盖。
- ANSIBLE_RUN_VARS_PLUGINS
此设置可用于根据用户清单大小和剧本选择来优化 vars_plugin 的使用。
另请参阅 RUN_VARS_PLUGINS
- ANSIBLE_SHOW_CUSTOM_STATS
这将通过 set_stats 插件设置的自定义统计信息添加到默认输出中。
另请参阅 SHOW_CUSTOM_STATS
- ANSIBLE_SSH_AGENT
通过 Ansible 管理 SSH 代理。配置为
none将不会与代理交互,auto将在运行期间通过ssh-agent二进制文件启动并销毁代理,而 SSH_AUTH_SOCK 的路径将允许与预先存在的代理交互。另请参阅 SSH_AGENT
- ANSIBLE_SSH_AGENT_EXECUTABLE
当
SSH_AGENT为auto时,要启动的 ssh 代理可执行文件的路径或名称。另请参阅 SSH_AGENT_EXECUTABLE
- ANSIBLE_SSH_AGENT_KEY_LIFETIME
对于插入到由
SSH_AGENT定义的代理中的密钥,定义密钥可以在代理中保留的生命周期(以秒为单位)。
- ANSIBLE_STRING_TYPE_FILTERS
此过滤器列表避免在模板化变量时进行“类型转换”。例如,当您想避免转换为 JSON 字符串的列表或字典时很有用。
另请参阅 STRING_TYPE_FILTERS
- ANSIBLE_SYSTEM_WARNINGS
允许禁用与运行 Ansible 本身的系统(而不是受管主机)上的潜在问题相关的警告。这些可能包括有关第三方包的警告,或其他如果可能应解决的条件。
另请参阅 SYSTEM_WARNINGS
- ANSIBLE_TARGET_LOG_INFO
为了跟踪目的插入目标日志的字符串。
另请参阅 TARGET_LOG_INFO
- ANSIBLE_TASK_TIMEOUT
设置任务动作执行的最大时间(以秒为单位)。超时独立于模板化或循环运行。它适用于执行任务动作的每次尝试,且不会随任务所花费的总时间而改变。当动作执行超过超时时间时,Ansible 会中断该进程。这被注册为由于外部情况导致的失败,而不是任务失败,以便接收适当的响应和恢复过程。如果设置为 0(默认值),则没有超时。
另请参阅 TASK_TIMEOUT
- ANSIBLE_WORKER_SESSION_ISOLATION
Ansible fork 的工作进程默认在会话隔离状态下运行,以避免在共享 TTY 上产生争用。如果需要访问继承的父 TTY,请将此选项设置为
false以禁用会话隔离。应通过根据需要设置单个任务、块、play、角色或主机上的ansible_worker_session_isolation变量,将禁用会话隔离限制在尽可能小的范围内。
- ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT
检查任务队列管理器工作进程以验证它们是否已干净退出的最大次数。达到此限制后,任何仍在运行的工作进程都将被终止。此设置仅供内部使用。
- ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY
检查任务队列管理器工作进程以验证它们是否已干净退出时,在轮询循环之间休眠的秒数。此设置仅供内部使用。
- ANSIBLE_USE_PERSISTENT_CONNECTIONS
切换连接是否使用持久化。
- ANSIBLE_VARS_ENABLED
需要此设置的变量插件的允许列表。
- ANSIBLE_PRECEDENCE
允许更改组变量优先级合并顺序。
另请参阅 VARIABLE_PRECEDENCE
- ANSIBLE_WIN_ASYNC_STARTUP_TIMEOUT
对于 Ansible 中的异步任务(在“异步动作与轮询”中涵盖),这是等待 Ansible 产生的任务连接回 Windows 系统上使用的命名管道的时间(以秒为单位)。默认值为 5 秒。在较慢的系统或负载较重的系统上,此值可能太低。这不是异步命令可以运行的总时间,而是等待异步命令启动的单独超时时间。任务仅在连接到管道后才会开始根据其 async_timeout 进行计时,因此任务可以采取的最大总持续时间将由此处指定的数量延长。
- ANSIBLE_YAML_FILENAME_EXT
当查找应为 YAML、JSON 或其加密(vaulted)版本的“变量”文件时,检查所有这些扩展名。这会影响 vars_files、include_vars、inventory 和 vars 插件等。
- ANSIBLE_NETCONF_SSH_CONFIG
此变量用于通过 netconf 连接启用堡垒机/跳转主机。如果设置为 True,堡垒机/跳转主机 ssh 设置应存在于 ~/.ssh/config 文件中;或者,也可以将其设置为自定义 ssh 配置文件路径以读取堡垒机/跳转主机设置。
另请参阅 NETCONF_SSH_CONFIG
- ANSIBLE_VALIDATE_ACTION_GROUP_METADATA
切换以禁用验证模块的 module_defaults 操作组的集合 ‘元数据’ 条目。当此项为 True 时,包含意外字段或值类型的元数据将产生警告。
- ANSIBLE_VERBOSE_TO_STDERR
强制 ‘verbose’ 选项使用 stderr 而不是 stdout。
另请参阅 VERBOSE_TO_STDERR