openstack – Источник инвентаризации OpenStack
Обзор
- Получение хостов инвентаризации из облаков OpenStack
- Использует конфигурационный файл YAML openstack.(yml|yaml) для настройки плагина инвентаризации
- Использует стандартный конфигурационный файл YAML clouds.yaml для настройки учетных данных облака
Требования
Ниже перечислены требования, необходимые на локальном узле-мастере, на котором выполняется эта инвентаризация.
- openstacksdk
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии |
|---|---|---|---|
| cache логическое |
| записи ini: [inventory] переменная среды:ANSIBLE_INVENTORY_CACHE | Включение/отключение кэширования исходных данных инвентаризации; требует настройки плагина кэша для работы. |
| cache_connection строка | записи ini: [defaults] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN_CONNECTION переменная среды:ANSIBLE_INVENTORY_CACHE_CONNECTION | Данные или путь к соединению кэша; для получения подробностей см. документацию плагина кэша. | |
| cache_plugin строка | По умолчанию: "memory" | записи ini: [defaults] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN переменная среды:ANSIBLE_INVENTORY_CACHE_PLUGIN | Плагин кэша для использования исходных данных инвентаризации. |
| cache_prefix - | По умолчанию: "ansible_inventory_" | записи ini: [default] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN_PREFIX переменная среды:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX | Префикс для использования в файлах/таблицах плагина кэша |
| cache_timeout целое число | По умолчанию: 3600 | записи ini: [defaults] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN_TIMEOUT переменная среды:ANSIBLE_INVENTORY_CACHE_TIMEOUT | Срок действия кэша в секундах |
| clouds_yaml_path строка | переменная среды:OS_CLIENT_CONFIG_FILE | Замена пути к файлу clouds.yaml. Если это значение задано, оно будет проверяться в первую очередь. По умолчанию к пути из инвентаризации Ansible добавляются /etc/ansible/openstack.yaml и /etc/ansible/openstack.yml в стандартные расположения, описанные в https://docs.openstack.org/os-client-config/latest/user/configuration.html#config-files | |
| compose словарь | По умолчанию: {} | Создание переменных из выражений Jinja2. | |
| expand_hostvars логическое |
| Выполнение дополнительных команд на каждом хосте для получения дополнительной информации о хосте. Может использовать cinder и neutron, что может быть ресурсоемким для пользователей с большим количеством хостов. (Обратите внимание, что значение по умолчанию отличается от значения по умолчанию в старом скрипте инвентаризации openstack.py с параметром expand_hostvars) | |
| fail_on_errors логическое |
| Принудительно вызывает ошибку инвентаризации и не возвращает хосты, если одно облако не удалось (например, из-за плохих учетных данных или недоступности). Если установлено значение False, инвентаризация вернёт столько хостов, сколько может получить от доступных облаков. (Обратите внимание, что значение по умолчанию отличается от значения по умолчанию в старом скрипте инвентаризации openstack.py с параметром fail_on_errors) | |
| groups словарь | По умолчанию: {} | Добавление хостов в группы на основе условных выражений Jinja2. | |
| inventory_hostname строка |
| Что регистрировать как имя хоста инвентаризации. Если установлено значение 'uuid', будет использоваться uuid сервера, и будет создана группа для имени сервера. Если установлено значение 'имя', будет использоваться имя сервера, если только на нём нет более одного сервера с одинаковым именем, в этом случае будет использоваться логика 'uuid'. По умолчанию используется 'имя', что противоположно значению по умолчанию в старом скрипте инвентаризации openstack.py с параметром use_hostnames) | |
| keyed_groups список | По умолчанию: [] | Добавление хостов в группы на основе значений переменной. | |
| only_clouds список | По умолчанию: [] | Список облаков из clouds.yaml для использования вместо всего списка. | |
| plugin - / обязательно |
| маркер, гарантирующий, что это исходный файл для плагина 'openstack'. | |
| private логическое |
| Использовать частный интерфейс каждого сервера (если он есть) в качестве IP-адреса хоста в инвентаризации. Это может быть полезно, если Ansible выполняется внутри сервера в облаке, и требуется общение с серверами через частную сеть. | |
| show_all логическое |
| Переключатель для отображения всех ВМ вместо только тех, у которых есть рабочий IP-адрес. | |
| strict логическое |
| Если yes считать некорректные записи ошибкой, в противном случае пропустить и продолжить.Так как в выражениях можно использовать факты, они могут быть недоступны, поэтому эти ошибки пропускаются по умолчанию. |
Примеры
# file must be named openstack.yaml or openstack.yml # Make the plugin behave like the default behavior of the old script plugin: openstack expand_hostvars: yes fail_on_errors: yes
Статус
- Данная инвентаризация не гарантирует обратную совместимость. [превью]
- Данная инвентаризация поддерживается сообществом Ansible. [community]
Авторы
- Marco Vito Moscaritolo <marco@agavee.com>
- Jesse Keating <jesse.keating@rackspace.com>
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете редактировать этот документ, чтобы улучшить его.
Подсказка
Записи конфигурации для каждого типа имеют порядок приоритета от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.
© 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/plugins/inventory/openstack.html