community.general.iocage inventory – источник инвентаризации iocage
Примечание
Этот плагин инвентаризации входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для работы с этим плагином инвентаризации могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать плагин в плейбуке, укажите: community.general.iocage.
Добавлено в community.general 10.2.0
Краткое описание
- Получает узлы инвентаризации из менеджера jail
iocage, работающего наhost. - По умолчанию
hostимеет значениеlocalhost. Еслиhostне равноlocalhost, предполагается, что пользователь, запускающий Ansible на управляющем узле, может подключиться к учетной записиhostuserпо SSH в неинтерактивном режиме и выполнить командуiocage list. - В качестве источника инвентаризации используется файл конфигурации; его имя должно оканчиваться на
.iocage.ymlили.iocage.yaml.
Требования
Перечисленные ниже требования необходимы на локальном управляющем узле, который выполняет эту инвентаризацию.
- iocage >= 1.8
Параметры
Параметр | Комментарии |
|---|---|
cache boolean | Включает или отключает кэширование исходных данных инвентаризации; для работы необходимо настроить плагин кэширования. Варианты:
Конфигурация:
|
cache_connection string | Данные подключения к кэшу или путь к нему; подробности см. в документации плагина кэширования. Конфигурация:
|
cache_plugin string | Плагин кэширования, используемый для исходных данных инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix string | Префикс для файлов/таблиц плагина кэширования. По умолчанию: Конфигурация:
|
cache_timeout integer | Длительность хранения кэша в секундах. По умолчанию: Конфигурация:
|
compose dictionary | Создает переменные на основе выражений jinja2. По умолчанию: |
env dictionary | |
get_properties boolean | Получать свойства jail. Для каждого добавленного узла создается словарь Варианты:
|
groups dictionary | Добавляет узлы в группы на основе условий Jinja2. По умолчанию: |
hooks_results list / elements=path добавлено в community.general 10.4.0 | Список путей к файлам в jail. Содержимое файлов хранится в элементах списка Если файл недоступен, вместо него остается символ тире Переменная |
host string | IP-адрес/имя узла По умолчанию: |
inventory_hostname_required boolean добавлено в community.general 11.0.0 | Если параметр включен, тег, указанный в Варианты:
|
inventory_hostname_tag string добавлено в community.general 11.0.0 | Имя тега в По умолчанию для имени jail используется столбец Для этого параметра требуется формат заметок Параметр |
keyed_groups list / elements=dictionary | Добавляет узлы в группы на основе значений переменной. По умолчанию: |
|
default_value string добавлено в ansible-core 2.12 |
Значение по умолчанию, если значение переменной узла равно Этот параметр нельзя использовать одновременно с |
|
key string |
Ключ входного словаря, используемый для создания групп. |
|
parent_group string |
Родительская группа для группы, созданной по ключу. |
|
prefix string |
Имя группы, созданной по ключу, будет начинаться с этого префикса. По умолчанию: |
|
separator string |
Разделитель, используемый для формирования имени группы, созданной по ключу. По умолчанию: |
|
trailing_separator boolean добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр нельзя использовать одновременно с Варианты:
|
leading_separator boolean добавлено в ansible-core 2.11 | Используется совместно с По умолчанию имя группы, созданной по ключу, для которой не задан префикс или разделитель, начинается с символа подчеркивания. Это связано с тем, что префикс по умолчанию — Установите для этого параметра значение Если имя группы получено из сопоставления, разделитель по-прежнему используется для объединения элементов. Чтобы полностью исключить разделитель из имени группы, задайте для разделителя группы, созданной по ключу, пустую строку. Варианты:
|
plugin string / обязательный | Имя этого плагина. Для распознавания плагином самого себя здесь всегда должно быть указано Варианты:
|
strict boolean | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда; по умолчанию такие ошибки игнорируются. Варианты:
|
sudo boolean добавлено в community.general 10.3.0 | Включает выполнение от имени root. Для этого требуется возможность выполнять команду Варианты:
|
sudo_preserve_env boolean добавлено в community.general 10.3.0 | Сохраняет окружение, если включен Для этого требуется тег sudoers Варианты:
|
use_extra_vars boolean добавлено в ansible-core 2.11 | Объединяет дополнительные переменные с доступными для композиции переменными (наивысший приоритет). Варианты:
Конфигурация:
|
user string | Пользователь |
Примечание
Перечисленные выше записи конфигурации для каждого типа записей (переменная Ansible, переменная окружения и т. д.) расположены в порядке приоритета от низкого к высокому. Например, переменная, находящаяся ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Перед использованием этого плагина инвентаризации с указанным
userи значениемhost, отличным отlocalhost, рекомендуется проверить на управляющем узле командуssh user@host iocage list -l. - При запуске этого плагина инвентаризации на
localhostsshне используется. В этом случае проверьте командуiocage list -l. - Этот плагин инвентаризации создает переменные
iocage_*для каждого добавленного узла. - Значения этих переменных получаются из вывода команды
iocage list -l. - Имена этих переменных соответствуют столбцам вывода.
- Для имени добавленного узла используется столбец
NAME. - Параметр
hooks_resultsпредполагает, чтоpoolnamejail смонтирован в/poolname. Например, если активировать пулiocage, плагин ожидает найти элементыhooks_resultsпо пути/iocage/iocage/jails/<name>/root. Еслиpoolnameсмонтирован по другому пути, проще всего создать символическую ссылку. - На этом этапе инвентаризация еще не завершена, поэтому автоматически заполняемые группы
allиungroupedбудут отражать только то, что в них явно добавили предыдущие источники инвентаризации. - Во время построения инвентаризации динамические «магические переменные» недоступны. Например,
groupsиhostvarsеще не существуют.
Примеры
---
# file name must end with iocage.yaml or iocage.yml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
---
# user is not required if iocage is running on localhost (default)
plugin: community.general.iocage
---
# run cryptography without legacy algorithms
plugin: community.general.iocage
host: 10.1.0.73
user: admin
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
---
# execute as root
# sudoers example 'admin ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/iocage list*'
plugin: community.general.iocage
host: 10.1.0.73
user: admin
sudo: true
sudo_preserve_env: true
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
---
# enable cache
plugin: community.general.iocage
host: 10.1.0.73
user: admin
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
cache: true
---
# see inventory plugin ansible.builtin.constructed
plugin: community.general.iocage
host: 10.1.0.73
user: admin
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
cache: true
strict: false
compose:
ansible_host: iocage_ip4
release: iocage_release | split('-') | first
groups:
test: inventory_hostname.startswith('test')
keyed_groups:
- prefix: distro
key: iocage_release
- prefix: state
key: iocage_state
---
# Read the file /var/db/dhclient-hook.address.epair0b in the jails and use it as ansible_host
plugin: community.general.iocage
host: 10.1.0.73
user: admin
hooks_results:
- /var/db/dhclient-hook.address.epair0b
compose:
ansible_host: iocage_hooks.0
groups:
test: inventory_hostname.startswith('test')
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/iocage_inventory.html