ovirt.image-template

Plantilla de Imagen de oVirt

Este rol ha sido migrado a oVirt Ansible Collection, por favor utiliza la última versión de allí. Este repositorio es ahora de solo lectura y ya no se utiliza para desarrollo activo.

El rol ovirt.image-template crea una plantilla a partir de una imagen externa. Actualmente, el disco puede ser una imagen en un proveedor externo de Glance o una imagen QCOW2.

Nota

Por favor, ten en cuenta que cuando instales este rol desde Ansible Galaxy se te indicará que ejecutes el siguiente comando:

$ ansible-galaxy install ovirt.image-template

Esto descargará el rol en el directorio con el mismo nombre que especificaste en la línea de comando, en este caso ovirt.image-template. Pero ten en cuenta que es sensible a mayúsculas y minúsculas, así que si especificas, por ejemplo, OVIRT.image-template, descargará el mismo rol, pero lo añadirá al directorio llamado OVIRT.image-template, 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 comando.

Para la instalación por RPM, instalamos tres nombres antiguos: oVirt.image-template, ovirt.image-template y ovirt-image-template. Así que puedes usar cualquiera de estos nombres. Esta documentación y los ejemplos en este repositorio utilizan el nombre ovirt.image-template. Los nombres de rol oVirt.image-template y ovirt-image-template están obsoletos.

Requisitos

  • Versión de Ansible 2.9 o superior.
  • Versión del SDK de Python 4.3 o superior.
  • oVirt debe ser 4.1 o superior y ovirt-imageio debe estar instalado y en funcionamiento.
  • Certificado CA del motor de oVirt. La ruta al certificado CA debe especificarse en la variable ovirt_ca.
  • archivo

Limitaciones

  • No soportamos el Modo de Comprobació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 haremos.

Variables del Rol

Nombre Valor por Defecto
qcow_url UNDEF (obligatorio si no se usa glance) La URL de la imagen QCOW2. Puedes especificar un archivo local con el prefijo 'file://'.
qcow_url_client_cert UNDEF Ruta al certificado del cliente si es necesario para recuperar QCOW de un sitio autenticado.
qcow_url_client_key UNDEF Ruta a la clave del cliente si es necesario para recuperar QCOW de un sitio autenticado.
image_path /tmp/ Ruta donde se descargará la imagen QCOW2. Si es un directorio, se usará el basename de la URL en el servidor remoto.
image_checksum UNDEF Si se define un checksum, se calculará el digest del archivo de destino después de ser descargado para asegurar su integridad y verificar que la transferencia se completó con éxito. Formato: :, por ejemplo, checksum="sha256:D98291AC[...]B6DC7B97".
image_cache_download true Cuando se establece en false, eliminará image_path al inicio y al final de la ejecución.
template_cluster Default Nombre del clúster donde debe crearse la plantilla.
template_io_threads UNDEF Número de hilos de IO utilizados por la plantilla. 0 significa que el threading de IO está deshabilitado. (Añadido en ansible 2.7)
template_name mytemplate Nombre de la plantilla.
template_memory 2GiB Cantidad de memoria asignada a la plantilla.
template_memory_guaranteed UNDEF Cantidad de memoria mínima garantizada de la Máquina Virtual.
template_memory_max UNDEF Límite superior de memoria de la máquina virtual hasta el cual se puede realizar hot-plug de memoria.
template_cpu 1 Número de CPUs asignados a la plantilla.
template_disk_storage UNDEF Nombre del dominio de almacenamiento de datos donde se debe crear el disco. Si no se especifica, se selecciona automáticamente el dominio de almacenamiento de datos.
template_disks [] Lista de diccionarios que especifican los discos adicionales de la plantilla. Ver más abajo para una descripción más detallada.
template_disk_size 10GiB El tamaño del disco de la plantilla.
template_disk_name UNDEF El nombre del disco de la plantilla.
template_disk_format UNDEF Formato del disco de la plantilla.
template_disk_interface virtio Interfaz del disco de la plantilla. (Opciones: virtio, ide, virtio_scsi)
template_seal true 'Sellado' borra todas las configuraciones específicas de la máquina de un sistema de archivos. No soportado en Windows. Establece esto en 'false' para Windows.
template_timeout 600 Tiempo para esperar a que se cree/importa la plantilla.
template_type UNDEF El tipo de plantilla: escritorio, servidor o alto_rendimiento (solo para plantillas basadas en qcow2).
template_nics {name: nic1, profile_name: ovirtmgmt, interface: virtio} Lista de diccionarios que especifican las NICs de la plantilla.
template_operating_system UNDEF Sistema operativo de la plantilla, como: otro, rhel_7x64, debian_7, ver otros en el módulo ovirt_template.
glance_image_provider UNDEF (obligatorio si no se usa qcow_url) Nombre del proveedor de imágenes glance.
glance_image UNDEF (obligatorio si no se usa qcow_url) Este parámetro especifica el nombre del disco en el proveedor glance que se importará como plantilla.
template_prerequisites_tasks UNDEF Funciona solo con imágenes qcow. Especifica una ruta al archivo de tareas de Ansible que debe ejecutarse en la máquina virtual antes de crear una plantilla a partir de ella. Ten en cuenta que la imagen qcow debe contener un agente huésped que informe la dirección IP.

La lista template_disks de diccionarios puede contener los siguientes atributos:

Nombre Valor por Defecto
name UNDEF (Requerido) El nombre del disco adicional.
size UNDEF (Requerido) El tamaño del disco adicional.
storage_domain UNDEF El nombre del dominio de almacenamiento donde se debe crear el disco. Si no se pasa valor, se establece por el valor de template_disk_storage.
interface UNDEF La interfaz del disco. Si no se pasa valor, se establece por el valor de template_disk_interface.
format UNDEF Especifica el formato del disco. Si no se pasa valor, se establece por el valor de template_disk_format.
  • cow - Si se establece, el disco se creará como un disco disperso, por lo que el espacio se asignará para el volumen según sea necesario. Este formato también se conoce como discos provisionados de forma delgada.
  • raw - Si se establece, el espacio del disco se asignará de inmediato. Este formato también se conoce como discos preasignados.
bootable UNDEF Verdadero si el disco debe ser arrancable.

Dependencias

Ninguna.

Ejemplo de Playbook

---
- name: Crear una plantilla a partir de qcow
  hosts: localhost
  connection: local
  gather_facts: false

  vars:
    engine_fqdn: ovirt-engine.example.com
    engine_user: admin@internal
    engine_password: 123456
    engine_cafile: /etc/pki/ovirt-engine/ca.pem

    qcow_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
    #qcow_url: file:///tmp/CentOS-7-x86_64-GenericCloud.qcow2
    template_cluster: producción
    template_name: centos7_template
    template_memory: 4GiB
    template_cpu: 2
    template_disk_size: 10GiB
    template_disk_storage: mydata

  roles:
    - ovirt.image-template


- name: Crear una plantilla de un disco almacenado en glance
  hosts: localhost
  connection: local
  gather_facts: false

  vars:
    engine_fqdn: ovirt-engine.example.com
    engine_user: admin@internal
    engine_password: 123456
    engine_cafile: /etc/pki/ovirt-engine/ca.pem

    glance_image_provider: qe-infra-glance
    glance_image: rhel7.4_ovirt4.2_guest_disk
    template_cluster: producción
    template_name: centos7_template
    template_memory: 4GiB
    template_cpu: 2
    template_disk_size: 10GiB
    template_disk_storage: mydata

  roles:
    - ovirt-image-template

- name: Crear una plantilla a partir de qcow2.xz
  hosts: localhost
  connection: local
  gather_facts: false
  pre_tasks:
    - name: Descargar el archivo qcow2.xz
      get_url:
        url: "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz"
        dest: /tmp
      register: downloaded_file

    - name: Extraer la imagen QCOW descargada
      command: "unxz --keep --force {{ downloaded_file.dest }}"

    - name: Establecer qcow_url al archivo extraído
      set_fact:
        qcow_url: "file://{{ (downloaded_file.dest | splitext)[0] }}"
  vars:
    engine_fqdn: ovirt-engine.example.com
    engine_user: admin@internal
    engine_password: 123456
    engine_cafile: /etc/pki/ovirt-engine/ca.pem

    template_cluster: producción
    template_name: centos7_template
    template_memory: 4GiB
    template_cpu: 2
    template_disk_size: 10GiB
    template_disk_storage: mydata

  roles:
    - ovirt.image-template

asciicast

Licencia

Licencia Apache 2.0

Acerca del proyecto

Role to create template from external image.

Instalar
ansible-galaxy install ovirt.image-template
Licencia
apache-2.0
Descargas
42.2k
Propietario
Open Virtual Datacenter