setup – Сбор фактов о удалённых хостах
Описание
- Этот модуль автоматически вызывается playbook-ом для сбора полезных переменных об удалённых хостах, которые могут быть использованы в playbook-ах. Он также может быть выполнен напрямую
/usr/bin/ansibleдля проверки доступных переменных для хоста. Ansible автоматически предоставляет множество фактов о системе. - Этот модуль также поддерживается для целевых платформ Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| fact_path - | По умолчанию: "/etc/ansible/facts.d" | Путь, используемый для локальных фактов ansible ( *.fact) - файлы в этой директории будут выполняться (если исполняемые) и их результаты будут добавлены к ansible_local фактам. Если файл не исполняемый, он будет прочитан. Смотрите примечания для вариантов Windows. (от версии 2.1) Формат файла/результатов может быть JSON или INI. По умолчанию fact_path можно указать в ansible.cfg при автоматическом вызове setup как части gather_facts. |
| filter - | По умолчанию: "*" | Если указано, возвращаются только факты, соответствующие этому шаблону (fnmatch) с подстановкой. |
| gather_subset - | По умолчанию: "all" | Если указано, ограничивает дополнительные собранные факты заданным подмножеством. Возможные значения: all, min, hardware, network, virtual, ohai, и facter. Можно указать список значений для определения большего подмножества. Значения также могут быть использованы с начальным ! для указания того, что это конкретное подмножество не должно быть собрано. Например: !hardware,!network,!virtual,!ohai,!facter. Если указано !all, собирается только минимальное подмножество. Чтобы избежать сбора даже минимального подмножества, укажите !all,!min. Чтобы собрать только определённые факты, используйте !all,!min, и укажите конкретные подмножества фактов. Используйте параметр filter, если вы не хотите отображать некоторые собранные факты. |
| gather_timeout - | По умолчанию: 10 | Устанавливает время ожидания по умолчанию в секундах для сбора отдельных фактов. |
Примечания
Примечание
- В последующих релизах будет добавлено больше фактов ansible. Если установлены facter или ohai, переменные из этих программ также будут сохранены в файл JSON для использования в шаблонах. Эти переменные имеют префиксы
facter_иohai_, что облегчает определение их источника. Все переменные передаются вызывающей стороне. Использование фактов ansible и отказ от установки facter и ohai позволяет избежать зависимостей от Ruby на удалённых системах. (См. также facter и ohai.) - Параметр filter фильтрует только подключаемые ключи первого уровня под ansible_facts.
- Если целевой хост - Windows, в настоящее время нет возможности использовать
filter, так как это предоставляется более простой реализацией модуля. - Если целевой хост - Windows, теперь можно использовать
fact_path. Убедитесь, что этот путь существует на целевом хосте. Файлы в этом пути ДОЛЖНЫ быть скриптами PowerShell (*.ps1) и их вывод должен быть форматируем в JSON (Ansible позаботится об этом). Протестируйте вывод ваших скриптов. Этот параметр был добавлен в Ansible 2.1. - Этот модуль также поддерживается для целевых платформ Windows.
- Этот модуль должен выполняться с повышенными привилегиями на системах BSD для сбора фактов, таких как ansible_product_version.
Примеры
# Display facts from all hosts and store them indexed by I(hostname) at C(/tmp/facts).
# ansible all -m setup --tree /tmp/facts
# Display only facts regarding memory found by ansible on all hosts and output them.
# ansible all -m setup -a 'filter=ansible_*_mb'
# Display only facts returned by facter.
# ansible all -m setup -a 'filter=facter_*'
# Collect only facts returned by facter.
# ansible all -m setup -a 'gather_subset=!all,!any,facter'
- name: Collect only facts returned by facter
setup:
gather_subset:
- '!all'
- '!any'
- facter
# Display only facts about certain interfaces.
# ansible all -m setup -a 'filter=ansible_eth[0-2]'
# Restrict additional gathered facts to network and virtual (includes default minimum facts)
# ansible all -m setup -a 'gather_subset=network,virtual'
# Collect only network and virtual (excludes default minimum facts)
# ansible all -m setup -a 'gather_subset=!all,!any,network,virtual'
# Do not call puppet facter or ohai even if present.
# ansible all -m setup -a 'gather_subset=!facter,!ohai'
# Only collect the default minimum amount of facts:
# ansible all -m setup -a 'gather_subset=!all'
# Collect no facts, even the default minimum subset of facts:
# ansible all -m setup -a 'gather_subset=!all,!min'
# Display facts from Windows hosts with custom facts stored in C(C:\custom_facts).
# ansible windows -m setup -a "fact_path='c:\custom_facts'"
Статус
- Этот модуль гарантирует сохранение обратной совместимости при будущих изменениях интерфейса. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Команда Ansible Core
- Michael DeHaan
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/setup_module.html