ovirt.manageiq
Desplegar ManageIQ en oVirt
Este rol ha sido migrado a oVirt Ansible Collection, por favor usa la última versión desde allí. Este repositorio ahora es de solo lectura y ya no se utiliza para desarrollo activo.
El rol ovirt.manageiq
descarga una imagen QCOW de ManageIQ/CloudForms y la despliega en oVirt/Red Hat Virtualization (RHV).
Este rol también permite crear una máquina virtual y adjuntar el disco de ManageIQ, luego espera a que el sistema ManageIQ se inicialice y registra oVirt como un proveedor de infraestructura.
Nota
Ten en cuenta que al instalar este rol desde Ansible Galaxy, se te indica que ejecutes el siguiente comando:
$ ansible-galaxy install ovirt.manageiq
Esto descargará el rol en el directorio con el mismo nombre que especificaste en la línea de comandos, en este caso ovirt.manageiq
. Pero ten en cuenta que es sensible a mayúsculas y minúsculas, por lo que si especificas, por ejemplo, OVIRT.manageiq
, descargará el mismo rol, pero lo añadirá al directorio llamado OVIRT.manageiq
, por lo que más tarde siempre tendrás que usar este rol con el prefijo en mayúsculas. Así que ten cuidado al especificar el nombre del rol en la línea de comandos.
Para la instalación de RPM, instalamos tres nombres heredados: oVirt.manageiq
, ovirt.manageiq
y ovirt-manageiq
.
Así que puedes usar cualquiera de estos nombres. Esta documentación y los ejemplos en este repositorio utilizan el nombre ovirt.manageiq
.
Los nombres de rol oVirt.manageiq
y ovirt-manageiq
están obsoletos.
Requisitos
- oVirt debe ser 4.0.4 o superior.
- Ansible debe ser 2.9 o superior.
- ovirt-imageio debe estar instalado y funcionando.
- oVirt Python SDK versión 4.
Además, realiza las siguientes comprobaciones para asegurarte de que los procesos requeridos están funcionando.
- Verifica si
ovirt-imageio-proxy
está funcionando en el motor:
systemctl status ovirt-imageio-proxy
- Verifica si
ovirt-imageio-daemon
está funcionando en los hosts:
systemctl status ovirt-imageio-daemon
También necesitarás el certificado CA del motor. Para hacer esto, configura la variable ovirt_ca
con la ruta al certificado CA.
Limitaciones
- No soportamos el modo de verificación de Ansible (Dry Run), porque este rol utiliza algunos módulos (módulo de comando) que no lo soportan. Una vez que todos los módulos utilizados por este rol lo soporten, lo habilitaremos.
Variables del rol
Variables QCOW:
Nombre | Valor por defecto | Descripción |
---|---|---|
miq_qcow_url | http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2 | La URL de la imagen QCOW de ManageIQ. |
miq_image_path | /tmp/ | Ruta donde se descargará la imagen QCOW2. Si es un directorio, se usará el nombre base de la URL en el servidor remoto. |
miq_image_checksum | UNDEF | Si se define un checksum, se calculará el digest del archivo de destino después de que se descargue para garantizar su integridad y verificar que la transferencia se completó correctamente. Formato: :, por ejemplo, checksum="sha256:D98291AC[...]B6DC7B97". |
Variables de inicio de sesión del motor:
Nombre | Valor por defecto | Descripción |
---|---|---|
engine_user | UNDEF | El usuario para acceder al motor. |
engine_password | UNDEF | La contraseña del 'engine_user'. |
engine_fqdn | UNDEF | El FQDN del motor. |
engine_ca | UNDEF | La ruta al certificado CA del motor. |
Variables de máquina virtual:
Nombre | Valor por defecto | Descripción |
---|---|---|
miq_vm_name | manageiq_gaprindashvili-3 | El nombre de la máquina virtual de ManageIQ. |
miq_vm_cluster | Default | El clúster de la máquina virtual. |
miq_vm_memory | 16GiB | La memoria del sistema de la máquina virtual. |
miq_vm_memory_guaranteed | UNDEF | Cantidad de memoria garantizada mínima de la máquina virtual. El parámetro miq_vm_memory_guaranteed no puede ser menor que miq_vm_memory. |
miq_vm_memory_max | UNDEF | Límite superior de memoria de la máquina virtual hasta donde se puede realizar la conexión de memoria. |
miq_vm_cpu | 4 | El número de núcleos de CPU de la máquina virtual. |
miq_vm_cpu_shares | UNDEF | Asigna cuotas de CPU para esta máquina virtual. |
miq_vm_cpu_sockets | UNDEF | Número de zócalos de CPU virtuales de la Máquina Virtual. |
miq_vm_cpu_threads | UNDEF | Número de hilos de CPU virtuales de la Máquina Virtual. |
miq_vm_os | rhel_7x64 | El sistema operativo de la máquina virtual. |
miq_vm_root_password | miq_app_password |
La contraseña de root para la máquina virtual. |
miq_vm_cloud_init | UNDEF | El diccionario de cloud init que se pasará a la máquina virtual. |
miq_vm_high_availability | true | Si es sí, la máquina virtual de ManageIQ se establecerá como altamente disponible. |
miq_vm_high_availability_priority | 50 | Indica la prioridad de la máquina virtual en las colas de ejecución y migración. El valor es un número entero entre 0 y 100. Cuanto mayor sea el valor, mayor será la prioridad. |
miq_vm_delete_protected | true | Si es sí, la máquina virtual de ManageIQ se establecerá como protegida contra eliminación. |
miq_debug_create | false | Si es verdadero, registra datos sensibles, útil para fines de depuración. |
miq_wait_for_ip_version | v4 | Especifica qué versión de IP se debe esperar. Puede ser v4 o v6. |
miq_wait_for_ip_timeout | 240 | Tiempo máximo que el playbook deberá esperar para que se reporte la IP. |
Variables de discos principales de la máquina virtual (por ejemplo, sistema operativo):
Nombre | Valor por defecto | Descripción |
---|---|---|
miq_vm_disk_name | miq_vm_name |
El nombre del disco de la máquina virtual. |
miq_vm_disk_storage | UNDEF | El dominio de almacenamiento objetivo del disco. |
miq_vm_disk_size | Tamaño de disco qcow | El tamaño del disco de la máquina virtual. |
miq_vm_disk_interface | virtio_scsi | El tipo de interfaz del disco de la máquina virtual. |
miq_vm_disk_format | cow | El formato del disco de la máquina virtual. |
Discos adicionales de la máquina virtual (por ejemplo, base de datos, log, tmp): un diccionario llamado
miq_vm_disks
permite describir cada uno de los discos adicionales (ver ejemplo de playbook). Ten en cuenta que esto solo funciona con CFME.
Para cada disco, se pueden establecer los siguientes atributos:
Nombre | Valor por defecto | Descripción |
---|---|---|
name | miq_vm_name _type |
El nombre del disco de la máquina virtual. |
size | UNDEF | El tamaño del disco de la máquina virtual (XXGiB ). |
interface | virtio_scsi | El tipo de interfaz del disco de la máquina virtual (virtio o virtio_scsi ). Se recomienda virtio_scsi , ya que virtio tiene un límite bajo en el número de discos. |
format | UNDEF | El formato del disco de la máquina virtual (raw o cow ). |
timeout | UNDEF | Tiempo de creación del disco. |
Variables de NICs de máquina virtual:
Nombre | Valor por defecto | Descripción |
---|---|---|
miq_vm_nics | {'name': 'nic1', 'profile_name': 'ovirtmgmt', 'interaface': 'virtio'} | Lista de diccionarios que define las interfaces de red de la máquina virtual. |
El elemento en la lista miq_vm_nics
puede contener los siguientes atributos:
Nombre | Valor por defecto | |
---|---|---|
name | UNDEF | El nombre de la interfaz de red. |
interface | UNDEF | Tipo de la interfaz de red. |
mac_address | UNDEF | Dirección MAC personalizada de la interfaz de red, por defecto se obtiene del pool de MAC. |
profile_name | UNDEF | Perfil de interfaz de red virtual que se adjuntará a la interfaz de red de la VM. |
Variables de ManageIQ:
Nombre | Valor por defecto | Descripción |
---|---|---|
miq_app_username | admin | El nombre de usuario utilizado para iniciar sesión en ManageIQ. |
miq_app_password | smartvm | La contraseña del usuario específico en el nombre de usuario utilizado para iniciar sesión en ManageIQ. |
miq_username | admin | Alias de miq_app_username para compatibilidad hacia atrás. |
miq_password | smartvm | Alias de miq_app_password para compatibilidad hacia atrás. |
miq_db_username | root | El nombre de usuario para conectarse a la base de datos. |
miq_db_password | miq_app_password |
La contraseña del usuario específico en el nombre de usuario utilizado para conectarse a la base de datos. |
miq_region | 0 | La región de ManageIQ creada en la base de datos. Nota: Solo funciona con CFME. |
miq_company | My Company | El nombre de la empresa del appliance. |
miq_disabled_roles | [] | Lista de roles de servidor ManageIQ para deshabilitar en el appliance. |
miq_enabled_roles | [] | Lista de roles de servidor ManageIQ para habilitar en el appliance. |
Tanto en ManageIQ como en CloudForms, los roles de servidor habilitados por defecto son:
automate
: Motor de automatizacióndatabase_operations
: Operaciones de base de datosevent
: Monitor de eventosems_inventory
: Inventario de proveedorems_operations
: Operaciones de proveedorreporting
: Informesscheduler
: Programadorsmartstate
: Análisis de SmartStateuser_interface
: Interfaz de usuariowebsocket
: Websocketweb_services
: Servicios web
Variables del proveedor RHV y métricas RHV:
Nombre | Valor por defecto | Descripción |
---|---|---|
miq_rhv_provider_name | RHV provider | Nombre del proveedor RHV que se mostrará en ManageIQ. |
metrics_fqdn | UNDEF | FQDN de las métricas oVirt/RHV. |
metrics_user | engine_history | El usuario para conectar con el servidor de métricas. |
metrics_password | "" | La contraseña del metrics_user . |
metrics_port | 5432 | Puerto para conectar con las métricas de oVirt/RHV. |
metrics_db_name | ovirt_engine_history | Nombre de la base de datos de métricas del motor oVirt. |
Dependencias
Ninguna.
Ejemplo de Playbook
Ten en cuenta que para las contraseñas debes usar Ansible vault.
Aquí hay un ejemplo de cómo desplegar CFME:
- name: Desplegar CFME en el motor oVirt
hosts: localhost
gather_facts: no
vars_files:
# Contiene la variable `engine_password` encriptada usando ansible-vault
- passwords.yml
vars:
engine_fqdn: ovirt-engine.ejemplo.com
engine_user: admin@internal
miq_qcow_url: https://cdn.ejemplo.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
Aquí hay un ejemplo de cómo desplegar ManageIQ:
---
- name: Despliegue de oVirt ManageIQ
hosts: localhost
connection: local
gather_facts: false
vars_files:
# Contiene la variable `engine_password` y `metrics_password`
# encriptada usando ansible-vault
- passwords.yml
vars:
engine_fqdn: ovirt.ejemplo.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.ejemplo.com
metrics_port: 8443
metrics_user: admin
roles:
- ovirt.manageiq
Role to deploy ManageIQ/CloudForms into oVirt/RHV.
ansible-galaxy install ovirt.manageiq