Ansible использует переменную ansible_facts для принятия решений на удалённых хостах путем получения сведений о системе и оборудовании. 2 К ним относятся операционная система, IP-адрес или архитектура процессора. 2
Эти данные помогают администратору управлять хостами на основе их текущего состояния, а не совершать действия напрямую без информации о состоянии системы. 1
Пример использования: нужно установить веб-сервер Apache на все хосты с Linux. 1 Известно, что хосты на базе Red Hat Enterprise Linux (RHEL) работают с менеджером пакетов Red Hat и yum/dnf, а другие дистрибутивы Linux используют свои менеджеры пакетов. 1 Поэтому выполнять одну и ту же задачу в разных системах без учёта различий нецелесообразно. 1 С помощью ansible_facts скрипт собирает информацию о системе и в зависимости от этого выполняет операцию. 1 Например, при установке на системы RHEL он автоматически пропускает пакет на основе Ubuntu и наоборот. 1
Также с помощью ansible_facts можно выполнить операцию, если в системе доступно минимальное количество ресурсов. 1