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

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ón
  • database_operations: Operaciones de base de datos
  • event: Monitor de eventos
  • ems_inventory: Inventario de proveedor
  • ems_operations: Operaciones de proveedor
  • reporting: Informes
  • scheduler: Programador
  • smartstate: Análisis de SmartState
  • user_interface: Interfaz de usuario
  • websocket: Websocket
  • web_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
Acerca del proyecto

Role to deploy ManageIQ/CloudForms into oVirt/RHV.

Instalar
ansible-galaxy install ovirt.manageiq
Licencia
apache-2.0
Descargas
15.2k
Propietario
Open Virtual Datacenter