ansible.builtin.gather_facts 模块 – 收集远程主机的基本信息

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使没有指定 集合关键字,您也可以使用简短的模块名称 gather_facts。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.gather_facts,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合冲突。

Ansible 2.8 中新增

概要

  • 此模块负责执行 配置的基本信息模块,默认情况下使用 ansible.builtin.setup 模块。

  • 此模块由 playbook 自动调用,以收集有关远程主机的有用变量,这些变量可以在 playbook 中使用。

  • 它也可以由 /usr/bin/ansible 直接执行,以检查哪些变量可用于主机。

  • Ansible 自动提供有关系统的大量基本信息。

注意

此模块具有相应的 操作插件

参数

参数

注释

parallel

布尔值

一个切换开关,控制基本信息模块是并行执行还是串行执行并按顺序执行。这可以保证模块基本信息的合并顺序,但会影响性能。

默认情况下,如果使用多个基本信息模块,它将为 true。

对于低成本/延迟的基本信息模块,并行处理的开销最终可能导致整个过程花费更长时间。测试您的具体情况,看看它是否能提高速度。

可以使用 ansible_facts_parallel 变量来设置此选项,覆盖默认值,但不会覆盖任务中对选项的直接赋值。

选项

  • false

  • true

属性

属性

支持

描述

action

支持:完全支持

表示它具有相应的操作插件,因此某些选项部分可以在控制器上执行

async

支持:不支持

虽然此操作不支持任务“async”关键字,但它可以使用 parallel 选项进行自己的并行处理。

支持与 async 关键字一起使用

bypass_host_loop

支持:不支持

强制执行不按主机执行的“全局”任务,这会绕过按主机模板化以及串行、节流和其他循环考虑因素

条件语句将按使用 run_once 的方式工作,使用的变量将来自第一个可用主机

此操作在非锁步策略之外无法正常工作

check_mode

支持:完全支持

由于此操作应该只是查询目标系统信息,因此它始终在检查模式下运行

可以在检查模式下运行并返回已更改状态预测,而无需修改目标,如果不受支持,则操作将被跳过。

diff_mode

支持:不支持

将在差异模式下返回有关已更改内容(或可能在检查模式下需要更改的内容)的详细信息

facts

支持:完全支持

操作返回一个 ansible_facts 字典,该字典将更新现有的主机基本信息

platform

平台: 所有平台

操作插件应该能够自动选择特定的平台模块,或者可以手动配置

可以对其进行操作的目标操作系统/系列

注释

注意

  • 这主要是一个围绕其他基本信息收集模块的包装器。

  • 传递到此操作中的选项必须由所有配置的基本信息模块支持。

  • 如果使用 gather_timeout 和并行执行,它将限制不接受 gather_timeout 本身的模块的总执行时间。

  • 每个模块返回的基本信息将被合并,冲突将有利于“最后合并”。在对多个模块进行并行收集时,顺序不保证。

示例

# Display facts from all hosts and store them indexed by hostname at /tmp/facts.
# ansible all -m ansible.builtin.gather_facts --tree /tmp/facts

作者

  • Ansible Core 团队