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

注意

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

Ansible 2.8 新增功能

概要

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

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

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

  • Ansible 自动提供有关系统的许多事实

注意

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

参数

参数

注释

并行

布尔值

一个开关,控制事实模块是并行执行还是按顺序执行。这可以保证模块事实的合并顺序,但会牺牲性能。

默认情况下,如果使用多个事实模块,它将为 true。

对于低成本/延迟的事实模块,并行开销可能最终意味着整个过程花费的时间更长。测试您的具体情况,看看它是否可以提高速度。

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

选项

  • false

  • true

属性

属性

支持

描述

action

支持:完全

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

async

支持:

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

支持与 async 关键字一起使用

bypass_host_loop

支持:

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

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

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

check_mode

支持:完全

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

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

diff_mode

支持:

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

facts

支持:完全

Action 返回一个 ansible_facts 字典,它将更新现有主机事实

平台

平台: 全部

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

可以操作的目标操作系统/系列

注释

注意

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

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

  • 如果使用 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 团队