manageiq
Развертывание ManageIQ в oVirt
Эта роль была перенесена в oVirt Ansible Collection, пожалуйста, используйте последнюю версию оттуда. Этот репозиторий теперь только для чтения и больше не используется для активной разработки.
Роль ovirt.manageiq
загружает образ QCOW ManageIQ/CloudForms и развертывает его в oVirt/Red Hat Virtualization (RHV).
Роль также позволяет создать виртуальную машину и подключить диск ManageIQ, затем дождаться инициализации системы ManageIQ и зарегистрировать oVirt в качестве поставщика инфраструктуры.
Примечание
Пожалуйста, обратите внимание, что при установке этой роли из Ansible Galaxy вам будет предложено выполнить следующую команду:
$ ansible-galaxy install ovirt.manageiq
Это загрузит роль в директорию с тем же именем, что вы указали в командной строке, в данном случае ovirt.manageiq
. Но имейте в виду, что имя чувствительно к регистру, поэтому, если вы укажете, например, OVIRT.manageiq
, то она загрузит ту же роль, но добавит её в директорию с именем OVIRT.manageiq
, и вам всегда придется использовать эту роль с заглавным префиксом. Поэтому будьте осторожны, как вы указываете имя роли в командной строке.
Для установки RPM мы устанавливаем три устаревших имени oVirt.manageiq
, ovirt.manageiq
и ovirt-manageiq
. Вы можете использовать любое из этих имен. В этой документации и примерах в этом репозитории используется имя ovirt.manageiq
. Имена ролей oVirt.manageiq
и ovirt-manageiq
устарели.
Требования
- oVirt должен быть 4.0.4 или выше.
- Ansible должен быть 2.9 или выше.
- ovirt-imageio должен быть установлен и запущен.
- oVirt Python SDK версия 4.
Дополнительно выполните следующие проверки, чтобы убедиться, что необходимые процессы запущены.
- Проверьте, запущен ли
ovirt-imageio-proxy
на управляющем узле:
systemctl status ovirt-imageio-proxy
- Проверьте, запущен ли
ovirt-imageio-daemon
на хостах:
systemctl status ovirt-imageio-daemon
Вам также потребуется сертификат CA управляющего узла. Для этого настройте переменную ovirt_ca
с путём к сертификату CA.
Ограничения
- Мы не поддерживаем режим проверки Ansible (Dry Run), потому что эта роль использует несколько модулей (command module), которые его не поддерживают. Как только все модули, используемые этой ролью, будут его поддерживать, мы тоже его поддержим.
Переменные роли
Переменные QCOW:
Имя | Значение по умолчанию | Описание |
---|---|---|
miq_qcow_url | http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2 | URL образа ManageIQ QCOW. |
miq_image_path | /tmp/ | Путь, куда будет загружен образ QCOW2. Если директория, будет использовано базовое имя URL на удалённом сервере. |
miq_image_checksum | UNDEF | Если задана контрольная сумма, будет рассчитан дайджест целевого файла после его загрузки для проверки целостности и завершения передачи. Формат: :, например, checksum="sha256:D98291AC[...]B6DC7B97". |
Переменные входа в систему управляющего узла:
Имя | Значение по умолчанию | Описание |
---|---|---|
engine_user | UNDEF | Пользователь для доступа к управляющему узлу. |
engine_password | UNDEF | Пароль 'engine_user'. |
engine_fqdn | UNDEF | Полное доменное имя управляющего узла. |
engine_ca | UNDEF | Путь к сертификату CA управляющего узла. |
Переменные виртуальной машины:
Имя | Значение по умолчанию | Описание |
---|---|---|
miq_vm_name | manageiq_gaprindashvili-3 | Имя виртуальной машины ManageIQ. |
miq_vm_cluster | Default | Кластер виртуальной машины. |
miq_vm_memory | 16GiB | Оперативная память виртуальной машины. |
miq_vm_memory_guaranteed | UNDEF | Минимально гарантированная память виртуальной машины. Параметр miq_vm_memory_guaranteed не может быть меньше параметра miq_vm_memory. |
miq_vm_memory_max | UNDEF | Максимальный объём оперативной памяти виртуальной машины, до которого можно выполнить "горячее" подключение памяти. |
miq_vm_cpu | 4 | Количество ядер процессора виртуальной машины. |
miq_vm_cpu_shares | UNDEF | Установка долей CPU для этой виртуальной машины. |
miq_vm_cpu_sockets | UNDEF | Количество сокетов виртуальных CPU виртуальной машины. |
miq_vm_cpu_threads | UNDEF | Количество потоков виртуальных CPU виртуальной машины. |
miq_vm_os | rhel_7x64 | Операционная система виртуальной машины. |
miq_vm_root_password | miq_app_password |
Пароль root для виртуальной машины. |
miq_vm_cloud_init | UNDEF | Словарь cloud init, который будет передан виртуальной машине. |
miq_vm_high_availability | true | Если да, виртуальная машина ManageIQ будет настроена как высокодоступная. |
miq_vm_high_availability_priority | 50 | Указывает приоритет виртуальной машины в очередях выполнения и миграции. Значение – целое число от 0 до 100. Чем выше значение, тем выше приоритет. |
miq_vm_delete_protected | true | Если да, виртуальная машина ManageIQ будет защищена от удаления. |
miq_debug_create | false | Если да, логировать конфиденциальные данные, полезно для целей отладки. |
miq_wait_for_ip_version | v4 | Указать, на какую версию IP следует дождаться. Либо v4, либо v6. |
miq_wait_for_ip_timeout | 240 | Максимальное время, которое плейбук должен ждать, чтобы IP был сообщён. |
Переменные основных дисков виртуальной машины (например, операционная система):
Имя | Значение по умолчанию | Описание |
---|---|---|
miq_vm_disk_name | miq_vm_name |
Имя диска виртуальной машины. |
miq_vm_disk_storage | UNDEF | Целевая доменная хранилище диска. |
miq_vm_disk_size | Размер qcow диска | Размер диска виртуальной машины. |
miq_vm_disk_interface | virtio_scsi | Тип интерфейса диска виртуальной машины. |
miq_vm_disk_format | cow | Формат диска виртуальной машины. |
Дополнительные диски виртуальной машины (например, база данных, журналы, временные файлы): словарь с именем
miq_vm_disks
позволяет описать каждый из дополнительных дисков (см. пример
плейбука). Обратите внимание, что это работает только с CFME.
Для каждого диска можно установить следующие атрибуты:
Имя | Значение по умолчанию | Описание |
---|---|---|
name | miq_vm_name _type |
Имя диска виртуальной машины. |
size | UNDEF | Размер диска виртуальной машины (XXGiB ). |
interface | virtio_scsi | Тип интерфейса диска виртуальной машины (virtio или virtio_scsi ). virtio_scsi рекомендуется, так как у virtio низкий предел количества дисков. |
format | UNDEF | Формат диска виртуальной машины (raw или cow ). |
timeout | UNDEF | Таймаут создания диска. |
Переменные для сетевых интерфейсов (NIC) виртуальной машины:
Имя | Значение по умолчанию | Описание |
---|---|---|
miq_vm_nics | {'name': 'nic1', 'profile_name': 'ovirtmgmt', 'interface': 'virtio'} | Список словарей, определяющих сетевые интерфейсы виртуальной машины. |
Элементы в списке miq_vm_nics
могут содержать следующие атрибуты:
Имя | Значение по умолчанию | |
---|---|---|
name | UNDEF | Имя сетевого интерфейса. |
interface | UNDEF | Тип сетевого интерфейса. |
mac_address | UNDEF | Пользовательский MAC-адрес сетевого интерфейса, по умолчанию получается из пула MAC-адресов. |
profile_name | UNDEF | Профиль виртуального сетевого интерфейса, который будет подключён к сетевому интерфейсу ВМ. |
Переменные ManageIQ:
Имя | Значение по умолчанию | Описание |
---|---|---|
miq_app_username | admin | Имя пользователя для входа в ManageIQ. |
miq_app_password | smartvm | Пароль пользователя, указанного в имени пользователя для входа в ManageIQ. |
miq_username | admin | Псевдоним для miq_app_username для обратной совместимости. |
miq_password | smartvm | Псевдоним для miq_app_password для обратной совместимости. |
miq_db_username | root | Имя пользователя для подключения к базе данных. |
miq_db_password | miq_app_password |
Пароль пользователя, указанного в имени пользователя для подключения к базе данных. |
miq_region | 0 | Регион ManageIQ, созданный в базе данных. Замечание: работает только с CFME. |
miq_company | My Company | Название компании для устройства. |
miq_disabled_roles | [] | Список ролей сервера ManageIQ, которые следует отключить на устройстве. |
miq_enabled_roles | [] | Список ролей сервера ManageIQ, которые следует включить на устройстве. |
Как в ManageIQ, так и в CloudForms, роли сервера по умолчанию включены:
automate
- Движок автоматизацииdatabase_operations
- Операции с базами данныхevent
- Монитор событийems_inventory
- Инвентарь провайдераems_operations
- Операции провайдераreporting
- Отчётыscheduler
- Планировщикsmartstate
- Анализ SmartStateuser_interface
- Пользовательский интерфейсwebsocket
- Вебсокетыweb_services
- Веб-сервисы
Переменные провайдера RHV и метрики RHV:
Имя | Значение по умолчанию | Описание |
---|---|---|
miq_rhv_provider_name | RHV provider | Имя провайдера RHV, которое будет отображаться в ManageIQ. |
metrics_fqdn | UNDEF | Полное доменное имя метрик oVirt/RHV. |
metrics_user | engine_history | Пользователь для подключения к серверу метрик. |
metrics_password | "" | Пароль пользователя metrics_user . |
metrics_port | 5432 | Порт для подключения к метрикам oVirt/RHV. |
metrics_db_name | ovirt_engine_history | Имя базы данных для базы данных метрик oVirt. |
Зависимости
Нет.
Пример плейбука
Обратите внимание, что для паролей следует использовать Ansible vault.
Вот пример, как развернуть CFME:
- name: Развертывание CFME на двигателе oVirt
hosts: localhost
gather_facts: no
vars_files:
# Содержит зашифрованный параметр `engine_password` с помощью ansible-vault
- passwords.yml
vars:
engine_fqdn: ovirt-engine.example.com
engine_user: admin@internal
miq_qcow_url: https://cdn.example.com/cfme-rhevm-5.9.1.2-1.x86_64.qcow2
miq_vm_name: cfme_59
miq_vm_cluster: mycluster
miq_vm_cloud_init:
host_name: "{{ miq_vm_name }}"
miq_vm_disks:
database:
name: "{{ miq_vm_name }}_database"
size: 10GiB
interface: virtio_scsi
format: raw
log:
name: "{{ miq_vm_name }}_log"
size: 10GiB
interface: virtio_scsi
format: cow
tmp:
name: "{{ miq_vm_name }}_tmp"
size: 10GiB
interface: virtio_scsi
format: cow
miq_disabled_roles:
- smartstate
miq_enabled_roles:
- notifier
- ems_metrics_coordinator
- ems_metrics_collector
- ems_metrics_processor
- embedded_ansible
roles:
- ovirt.manageiq
Вот пример, как развернуть ManageIQ:
---
- name: Развертывание oVirt ManageIQ
hosts: localhost
connection: local
gather_facts: false
vars_files:
# Содержит зашифрованные переменные `engine_password` и `metrics_password`
# с помощью ansible-vault
- passwords.yml
vars:
engine_fqdn: ovirt.example.com
engine_user: admin@internal
engine_cafile: /etc/pki/ovirt-engine/ca.pem
miq_qcow_url: http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2
miq_vm_name: manageiq_hammer6
miq_vm_cluster: mycluster
metrics_fqdn: metrics.example.com
metrics_port: 8443
metrics_user: admin
roles:
- ovirt.manageiq
Role to deploy ManageIQ/CloudForms into oVirt/RHV.
ansible-galaxy install oVirt/ovirt-ansible-manageiq