6.16. 事实缓存
自动化控制器可以通过 Ansible 事实缓存插件来基于每个主机存储和检索事实。这个行为可根据每个作业模板进行配置。默认情况下,事实缓存会被关闭,但可以启用来为与作业运行相关的清单中所有主机提供事实请求。这可让您使用带有- limit
的作业模板,同时仍可访问整个主机事实清单。您可以在导航面板中指定插件强制按主机(以秒为单位)的全局超时设置,选择
在启动使用事实缓存(use_fact_cache=True
的作业后,每个主机的 ansible_facts
均由控制器存储在作业的清单中。
包含自动化控制器的 Ansible 事实缓存插件在启用了事实缓存的作业上启用(use_fact_cache=True
)。
当一个启用了事实缓存(use_fact_cache=True
)的作业正在运行时,自动化控制器会恢复清单中主机的所有记录。任何比每个主机当前存储事实更新时间更新的记录都会在数据库中更新。
新的和更改的事实通过自动化控制器的日志记录功能记录。特别是 system_tracking 命名空间或日志记录
器。日志记录有效负载包括以下字段:
-
host_name
-
inventory_id
-
ansible_facts
Ansible 事实是自动化控制器清单 inventory_id
中 host_name
的所有 Ansible 事实的字典。
如果主机名包含正斜杠(/),事实缓存不适用于该主机。如果您的清单有 100 个主机,且一个主机的名称中有一个 /,则剩余的 99 个主机仍然收集事实。