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: |
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.
|
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
Licencia
Licencia Apache 2.0
ansible-galaxy install ovirt.image-template