Spec-Zone.ru › Ansible

openstack.cloud.openstack inventory – OpenStack инвентаризация источника

Примечание

Этот плагин инвентаризации входит в состав коллекции openstack.cloud (версия 2.2.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

boolean

Список серверов всех проектов

Выбори:

  • false ← (по умолчанию)
  • true

cache

boolean

Включить/выключить кеширование данных источника инвентаризации. Требуется настройка плагина кеша для работы.

Выбори:

  • false ← (по умолчанию)
  • true

Настройка:

  • Запись INI:

    [inventory]
    cache = false
    
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE

cache_connection

string

Данные или путь подключения к кешу. Подробности см. в документации к плагину кеша.

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_connection = VALUE
    
    [inventory]
    cache_connection = VALUE
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_CONNECTION
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_CONNECTION

cache_plugin

string

Плагин кеша для данных источника инвентаризации.

По умолчанию: "memory"

Настройка:

  • Записи INI:

    [defaults]
    fact_caching = memory
    
    [inventory]
    cache_plugin = memory
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN

cache_prefix

string

Префикс для файлов/таблиц плагина кеша

По умолчанию: "ansible_inventory_"

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_prefix = ansible_inventory_
    
    [inventory]
    cache_prefix = ansible_inventory_
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_PREFIX
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

cache_timeout

integer

Время жизни кеша в секундах

По умолчанию: 3600

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_timeout = 3600
    
    [inventory]
    cache_timeout = 3600
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_TIMEOUT
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_TIMEOUT

clouds_yaml_path

list / elements=string

Заменить путь к файлу clouds.yaml.

Если это значение указано, оно будет проверяться в первую очередь.

Пути поиска для учетных данных облака дополняются файлами /etc/ansible/openstack.{yaml,yml}.

Документация по стандартным путям поиска приведена по адресу https://docs.openstack.org/os-client-config/latest/user/configuration.html#config-files.

Настройка:

  • Переменная окружения: OS_CLIENT_CONFIG_FILE

compose

dictionary

Создать переменные из выражений jinja2.

По умолчанию: {}

expand_hostvars

boolean

Обогатить факты сервера дополнительными запросами к службам OpenStack. Это включает запросы к Cinder и Neutron, что может быть длительным для облаков с большим количеством серверов.

Значение по умолчанию для expand_hostvars противоположно значению по умолчанию для параметра expand_hostvars в устаревшем скрипте инвентаризации openstack.py.

Выбори:

  • false ← (по умолчанию)
  • true

fail_on_errors

boolean

Скрипт инвентаризации завершается с ошибкой, возвращая не имеющих хостов, при соединении с облаком неудачно (например, из-за плохих учетных данных или проблем с подключением).

Когда fail_on_errors равно false, этот скрипт инвентаризации вернёт все хосты, которые он смог получить из облаков, по возможности.

Значение по умолчанию для fail_on_errors противоположно значению по умолчанию для параметра fail_on_errors в устаревшем скрипте инвентаризации openstack.py.

Выбори:

  • false ← (по умолчанию)
  • true

groups

dictionary

Добавление хостов в группу на основе условных операторов Jinja2.

По умолчанию: {}

inventory_hostname

string

Регистрация имени хоста инвентаризации.

При установке в uuid будет использован идентификатор сервера, и для имени сервера будет создана группа.

При установке в name будет использовано имя сервера. Если несколько серверов имеют одинаковое имя, будут использоваться идентификаторы серверов.

Значение по умолчанию для inventory_hostname противоположно значению по умолчанию для параметра use_hostnames в устаревшем скрипте инвентаризации openstack.py.

Выбори:

  • "name" ← (по умолчанию)
  • "uuid"

keyed_groups

список / элементы=словарь

Добавить хосты в группу на основе значений переменной.

По умолчанию: []

default_value

строка

добавлено в ansible-core 2.12

Значение по умолчанию, когда значение переменной хоста — пустая строка.

Этот параметр взаимоисключающий с keyed_groups[].trailing_separator.

key

строка

Ключ из входного словаря, используемый для создания групп

parent_group

строка

родительская группа для группы keyed

prefix

строка

Имя группы keyed будет начинаться с этого префикса

По умолчанию: ""

separator

строка

Разделитель, используемый для построения имени keyed группы

По умолчанию: "_"

trailing_separator

логический

добавлено в ansible-core 2.12

Установите этот параметр в False, чтобы опустить keyed_groups[].separator после переменной хоста, когда значение равно пустой строке.

Этот параметр взаимоисключающий с keyed_groups[].default_value.

Варианты:

  • false
  • true ← (по умолчанию)

leading_separator

логический

добавлено в ansible-core 2.11

Используется совместно с keyed_groups.

По умолчанию, группа keyed, у которой не указан префикс или разделитель, будет иметь имя, начинающееся с нижнего подчёркивания.

Это потому, что префикс по умолчанию — «», а разделитель по умолчанию — «_».

Установите этот параметр в False, чтобы опустить ведущее нижнее подчёркивание (или другой разделитель), если префикс не задан.

Если имя группы получено из сопоставления, разделитель всё равно используется для конкатенации элементов.

Чтобы вообще не использовать разделитель в имени группы, установите разделитель для группы keyed в пустую строку.

Варианты:

  • false
  • true ← (по умолчанию)

legacy_groups

логический

Автоматически создавать группы из переменных хоста.

Варианты:

  • false
  • true ← (по умолчанию)

only_clouds

список / элементы=строка

Список облаков в clouds.yaml, которые будут обработаны вместо всех облаков.

По умолчанию: []

plugin

строка / обязательно

Токен, который отмечает заданный YAML-конфигурационный файл как допустимый входной файл для этого плагина инвентаризации.

Варианты:

  • "openstack"
  • "openstack.cloud.openstack"

private

логический

Использовать частные интерфейсы серверов (если доступны) при определении IP-адресов для хостов Ansible.

Использование private полезно при запуске Ansible с сервера в облаке, когда необходимо гарантировать, что серверы общаются только по частным сетям.

Варианты:

  • false ← (по умолчанию)
  • true

show_all

логический

Определяет, должны ли быть перечислены все серверы.

Если show_all равно false, то будут перечислены только серверы с валидным IP-адресом, независимо от того, является ли он частным или общедоступным.

Варианты:

  • false ← (по умолчанию)
  • true

strict

логический

Если yes, невалидные записи будут считаться ошибкой, иначе будут пропущены и продолжена обработка.

Так как в выражениях можно использовать факты, они могут быть недоступны, и такие ошибки по умолчанию игнорируются.

Варианты:

  • false ← (по умолчанию)
  • true

use_extra_vars

логический

добавлено в ansible-core 2.11

Объединить дополнительные переменные в доступные переменные для составления (высший приоритет).

Варианты:

  • false ← (по умолчанию)
  • true

Настройка:

  • Запись в INI:

    [inventory_plugins]
    use_extra_vars = false
    
  • Переменная среды: ANSIBLE_INVENTORY_USE_EXTRA_VARS

use_names

boolean

Когда use_names принимает значение false, по умолчанию, то первый адрес виртуального сервера будет использован для фактов ansible_host и ansible_ssh_host. Если у сервера нет прикреплённого виртуального IP адреса, то используется первый невиртуальный IP адрес. Если у сервера нет прикреплённых адресов, то оба факта не будут определены.

Когда use_names принимает значение true, то имя сервера будет использоваться для фактов ansible_host и ansible_ssh_host. Это полезно для хостов jump или bastion, где имя сервера фактически является полным доменным именем сервера (FQDN).

Варианты:

  • false ← (по умолчанию)
  • true

Примеры

# 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

Авторы

  • OpenStack Ansible SIG

Подсказка

Элементы конфигурации для каждого типа имеют порядок приоритетов снизу вверх. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

Ссылки на сборку

  • Система отслеживания ошибок
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/openstack/cloud/openstack_inventory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API