setup – Сбор фактов о удалённых хостах
Описание
- Этот модуль автоматически вызывается плейбуками для сбора полезных переменных о удалённых хостах, которые могут быть использованы в плейбуках. Его также можно выполнить напрямую с помощью
/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 - добавлено в 2.1 | Значение по умолчанию: "all" | если указано, ограничить дополнительные собранные факты заданным подмножеством. Возможные значения: all, min, hardware, network, virtual, ohai, и facter. Можно указать список значений для задания большего подмножества. Значения также могут быть использованы с начальным ! для указания того, что это конкретное подмножество не должно собираться. Например: !hardware,!network,!virtual,!ohai,!facter. Если !all указано, собирается только минимальное подмножество. Чтобы избежать сбора даже минимального подмножества, укажите !all,!min. Чтобы собрать только определённые факты, используйте !all,!min, и укажите конкретные подмножества фактов. Используйте параметр filter, если вы не хотите отображать некоторые собранные факты. |
| gather_timeout - добавлено в 2.2 | Значение по умолчанию: 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]
Поддержка Red Hat
Дополнительную информацию о поддержке Red Hat этого модуля можно найти в этой статье базы знаний Red Hat.
Авторы
- Команда разработчиков Ansible
- Michael DeHaan
- David O’Brien (@davidobrien1985)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/setup_module.html