ansible.builtin.gather_facts 模块 – 收集关于远程主机的 facts

注意

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

Ansible 2.8 中的新功能

概要

  • 此模块负责执行配置的 facts 模块,默认是使用 ansible.builtin.setup 模块。

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

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

  • Ansible 自动提供有关系统的许多 *facts*。

注意

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

参数

参数

注释

parallel

布尔值

一个切换开关,用于控制 facts 模块是并行还是串行以及按顺序执行。这可以保证模块 facts 的合并顺序,但会牺牲性能。

默认情况下,如果使用多个 facts 模块,则为 true。

对于低成本/延迟的 facts 模块,并行性开销最终可能会导致整个过程花费更长的时间。测试您的具体情况,以确定它是否能提高速度。

选项

  • false

  • true

属性

属性

支持

描述

action

支持:完整

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

async

支持:

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

支持与 async 关键字一起使用

bypass_host_loop

支持:

强制执行不针对每个主机执行的“全局”任务,这会绕过每个主机的模板化以及串行、节流和其他循环注意事项

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

此操作在锁定步骤策略之外将无法正常工作

check_mode

支持:完整

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

可以在 check_mode 中运行并返回更改状态预测,而无需修改目标,如果不支持,则会跳过该操作。

diff_mode

支持:

在 diff 模式下,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息

facts

支持:完整

操作返回一个 ansible_facts 字典,该字典将更新现有的主机 facts

platform

平台: 全部

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

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

说明

注意

  • 这主要是对其他 facts 收集模块的封装。

  • 传递到此操作的选项必须受所有配置的底层 facts 模块支持。

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

  • 每个模块返回的 facts 将被合并,冲突将有利于“最后合并”。在多个模块上进行并行收集时,顺序无法保证。

示例

# 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 核心团队