openstack.cloud.openstack inventory — источник инвентаризации OpenStack
Примечание
Этот плагин инвентаризации входит в коллекцию openstack.cloud (версия 2.6.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install openstack.cloud. Для работы с этим плагином инвентаризации требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: openstack.cloud.openstack.
Краткое описание
- Собирает сведения о серверах из облаков OpenStack и добавляет их в инвентаризацию Ansible в качестве узлов.
- Для настройки этого плагина инвентаризации используется файл конфигурации YAML
openstack.{yaml,yml}. - Учетные данные облаков считываются из стандартных файлов конфигурации YAML
clouds{,-public}.yaml.
Требования
Следующие компоненты должны быть установлены на локальном управляющем узле, который запускает эту инвентаризацию.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
all_projects логический | Выводит список серверов из всех проектов Варианты:
|
cache логический | Включает или отключает кэширование исходных данных инвентаризации; для работы требуется настроенный плагин кэширования. Варианты:
Конфигурация:
|
cache_connection строка | Данные подключения к кэшу или путь к нему; подробности см. в документации плагина кэширования. Конфигурация:
|
cache_plugin строка | Плагин кэширования исходных данных инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix строка | Префикс для файлов/таблиц плагина кэширования. По умолчанию: Конфигурация:
|
cache_timeout целое число | Время хранения кэша в секундах. По умолчанию: Конфигурация:
|
clouds_yaml_path список / элементы=строка | Переопределяет путь к файлу Если это значение задано, поиск сначала выполняется по указанному пути. Пути поиска учетных данных облаков дополняются файлами Пути поиска по умолчанию описаны в https://docs.openstack.org/os-client-config/latest/user/configuration.html#config-files. Конфигурация:
|
compose словарь | Создает переменные на основе выражений Jinja2. По умолчанию: |
expand_hostvars логический | Дополняет факты о серверах дополнительными запросами к службам OpenStack. В частности, выполняются запросы к Cinder и Neutron, которые могут занять много времени в облаках с большим числом серверов. Значение expand_hostvars по умолчанию противоположно значению по умолчанию параметра Варианты:
|
fail_on_errors логический | Определяет, завершится ли скрипт инвентаризации с ошибкой и без узлов, если не удалось подключиться к облаку, например из-за неверных учетных данных или проблем с подключением. Если значение fail_on_errors равно Значение fail_on_errors по умолчанию противоположно значению по умолчанию параметра Варианты:
|
groups словарь | Добавляет узлы в группы на основе условий Jinja2. По умолчанию: |
inventory_hostname строка | Значение, используемое в качестве имени узла в инвентаризации. Если задано значение Если задано значение Значение inventory_hostname по умолчанию противоположно значению по умолчанию параметра Варианты:
|
keyed_groups список / элементы=словарь | Добавляет узлы в группы на основе значений переменной. По умолчанию: |
|
default_value строка добавлено в ansible-core 2.12 |
Значение по умолчанию, используемое, если значение переменной узла равно Этот параметр несовместим с |
|
key строка |
Ключ из входного словаря, используемый для создания групп. |
|
parent_group строка |
Родительская группа для группы по ключу. |
|
prefix строка |
Имя группы по ключу будет начинаться с этого префикса. По умолчанию: |
|
separator строка |
Разделитель, используемый при формировании имени группы по ключу. По умолчанию: |
|
trailing_separator логический добавлено в ansible-core 2.12 |
Задайте для этого параметра значение Этот параметр несовместим с Варианты:
|
leading_separator логический добавлено в ansible-core 2.11 | Используется вместе с По умолчанию имя группы по ключу, для которой не задан префикс или разделитель, начинается с символа подчеркивания. Это происходит потому, что префикс по умолчанию — Задайте для этого параметра значение Если имя группы формируется на основе отображения, разделитель по-прежнему используется для объединения элементов. Чтобы вообще не использовать разделитель в имени группы, задайте для группы по ключу пустую строку в качестве разделителя. Варианты:
|
legacy_groups логический | Автоматически создает группы на основе переменных узлов. Варианты:
|
only_clouds список / элементы=строка | Список облаков из По умолчанию: |
only_ipv4 логический | Использовать только адреса IPv4 для ansible_host и ansible_ssh_host. Параметр only_ipv4 полезен при запуске Ansible в среде, где используется только IPv4. Варианты:
|
plugin строка / обязательный | Токен, указывающий, что данный файл конфигурации YAML является допустимым входным файлом для этого плагина инвентаризации. Варианты:
|
private логический | При определении IP-адресов узлов Ansible использовать приватные интерфейсы серверов, если они доступны. Параметр private полезен при запуске Ansible с сервера в облаке, если необходимо обеспечить обмен данными между серверами только по приватным сетям. Варианты:
|
server_filters словарь | Словарь пар значений для фильтрации серверов. Список доступных параметров см. в разделе https://docs.openstack.org/api-ref/compute/#list-servers По умолчанию: |
show_all логический | Определяет, нужно ли выводить список всех серверов. Если значение show_all равно Варианты:
|
strict логический | Если значение равно Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда; по умолчанию такие ошибки игнорируются. Варианты:
|
use_extra_vars логический добавлено в ansible-core 2.11 | Объединяет дополнительные переменные с доступными переменными для формирования значений (наивысший приоритет). Варианты:
Конфигурация:
|
use_names логический | Если значение use_names равно Если значение use_names равно Варианты:
|
Примечание
Для перечисленных выше параметров порядок записей конфигурации каждого типа (переменные Ansible, переменные окружения и т. д.) соответствует приоритету от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по возрастанию приоритета. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- На этом этапе формирование инвентаризации еще не завершено, поэтому автоматически заполненные группы
allиungroupedбудут содержать только сведения, явно добавленные в них предыдущими источниками инвентаризации. - Во время создания инвентаризации динамические «магические переменные» недоступны. Например,
groupsиhostvarsеще не существуют.
Примеры
# Create a file called openstack.yaml, add the following content and run # $> ansible-inventory --list -vvv -i openstack.yaml plugin: openstack.cloud.openstack all_projects: false expand_hostvars: true fail_on_errors: true only_clouds: - "devstack-admin" strict: true
Ссылки на коллекцию
© 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/openstack/cloud/openstack_inventory.html