ovirt.image-template
Template d'image oVirt
Ce rôle a été migré vers oVirt Ansible Collection, veuillez utiliser la dernière version de là. Ce dépôt est maintenant en lecture seule et n'est plus utilisé pour le développement actif.
Le rôle ovirt.image-template
crée un modèle à partir d'une image externe. Actuellement, le disque peut être une image dans le fournisseur externe Glance ou une image QCOW2.
Note
Veuillez noter que lorsque vous installez ce rôle depuis Ansible Galaxy, il vous est demandé de lancer la commande suivante :
$ ansible-galaxy install ovirt.image-template
Cela téléchargera le rôle dans le répertoire avec le même nom que celui que vous avez spécifié en ligne de commande, dans ce cas ovirt.image-template
. Notez que c'est sensible à la casse, donc si vous spécifiez par exemple OVIRT.image-template
, cela téléchargera le même rôle, mais il sera ajouté dans un répertoire nommé OVIRT.image-template
, donc vous devrez toujours utiliser ce rôle avec le préfixe en majuscule. Faites donc attention à la manière dont vous spécifiez le nom du rôle en ligne de commande.
Pour l'installation RPM, nous installons trois noms historiques : oVirt.image-template
, ovirt.image-template
et ovirt-image-template
.
Vous pouvez utiliser n'importe lequel de ces noms. Cette documentation et les exemples dans ce dépôt utilisent le nom ovirt.image-template
.
Les noms de rôle oVirt.image-template
et ovirt-image-template
sont obsolètes.
Exigences
- Version d'Ansible 2.9 ou supérieure.
- Version du SDK Python 4.3 ou supérieure.
- oVirt doit être 4.1 ou supérieure et ovirt-imageio doit être installé et en cours d'exécution.
- Certificat CA de l'engine oVirt. Le chemin vers le certificat CA doit être spécifié dans la variable
ovirt_ca
. - fichier
Limitations
- Nous ne supportons pas le mode vérification d'Ansible (exécution à blanc), car ce rôle utilise quelques modules (module de commande) qui ne le supportent pas. Une fois que tous les modules utilisés par ce rôle le supporteront, nous le prendrons en charge.
Variables de rôle
Nom | Valeur par défaut | |
---|---|---|
qcow_url | UNDEF (obligatoire si Glance n'est pas utilisé) | L'URL de l'image QCOW2. Vous pouvez spécifier un fichier local avec le préfixe 'file://'. |
qcow_url_client_cert | UNDEF | Chemin vers le certificat client si nécessaire pour récupérer QCOW d'un site authentifié. |
qcow_url_client_key | UNDEF | Chemin vers la clé client si nécessaire pour récupérer QCOW d'un site authentifié. |
image_path | /tmp/ | Chemin où l'image QCOW2 sera téléchargée. Si c'est un répertoire, le nom de base de l'URL sur le serveur distant sera utilisé. |
image_checksum | UNDEF | Si une somme de contrôle est définie, le hachage du fichier de destination sera calculé après son téléchargement pour garantir son intégrité et vérifier que le transfert a été effectué avec succès. Format : |
image_cache_download | true | Lorsque défini sur false, supprimera image_path au début et à la fin de l'exécution. |
template_cluster | Default | Nom du cluster où le modèle doit être créé. |
template_io_threads | UNDEF | Nombre de threads IO utilisés par le modèle. 0 signifie que le multithreading IO est désactivé. (Ajouté dans Ansible 2.7) |
template_name | mytemplate | Nom du modèle. |
template_memory | 2GiB | Montant de mémoire attribué au modèle. |
template_memory_guaranteed | UNDEF | Montant de mémoire minimale garantie de la machine virtuelle. |
template_memory_max | UNDEF | Limite supérieure de la mémoire de la machine virtuelle jusqu'à laquelle la mémoire peut être ajoutée à chaud. |
template_cpu | 1 | Nombre de CPUs attribués au modèle. |
template_disk_storage | UNDEF | Nom du domaine de stockage des données où le disque doit être créé. Si non spécifié, le domaine de stockage des données est sélectionné automatiquement. |
template_disks | [] | Liste de dictionnaires spécifiant les disques supplémentaires du modèle. Voir ci-dessous pour une description plus détaillée. |
template_disk_size | 10GiB | La taille du disque du modèle. |
template_disk_name | UNDEF | Le nom du disque du modèle. |
template_disk_format | UNDEF | Format du disque du modèle. |
template_disk_interface | virtio | Interface du disque du modèle. (Choix : virtio, ide, virtio_scsi) |
template_seal | true | Le 'scellage' efface toutes les configurations spécifiques à la machine d'un système de fichiers. Non pris en charge sur Windows. Définissez ceci sur 'false' pour Windows. |
template_timeout | 600 | Temps d'attente pour la création/l'importation du modèle. |
template_type | UNDEF | Le type de modèle : bureau, serveur ou haute performance (pour les modèles basés sur qcow2 uniquement). |
template_nics | {name: nic1, profile_name: ovirtmgmt, interface: virtio} | Liste de dictionnaires spécifiant les NICs du modèle. |
template_operating_system | UNDEF | Système d'exploitation du modèle, comme : autre, rhel_7x64, debian_7, voir d'autres dans le module ovirt_template. |
glance_image_provider | UNDEF (obligatoire si qcow_url n'est pas utilisé) | Nom du fournisseur d'images Glance. |
glance_image | UNDEF (obligatoire si qcow_url n'est pas utilisé) | Ce paramètre spécifie le nom du disque dans le fournisseur Glance à importer comme modèle. |
template_prerequisites_tasks | UNDEF | Ne fonctionne qu'avec l'image qcow. Spécifiez un chemin vers un fichier de tâches Ansible, qui doit être exécuté sur la machine virtuelle avant de créer un modèle à partir de celle-ci. Notez que l'image qcow doit contenir un agent invité qui rapporte l'adresse IP. |
La liste template_disks
de dictionnaires peut contenir les attributs suivants :
Nom | Valeur par défaut | |
---|---|---|
name | UNDEF (Obligatoire) | Nom du disque supplémentaire. |
size | UNDEF (Obligatoire) | Taille du disque supplémentaire. |
storage_domain | UNDEF | Nom du domaine de stockage où le disque doit être créé. Si aucune valeur n'est passée, la valeur est définie par template_disk_storage. |
interface | UNDEF | Interface du disque. Si aucune valeur n'est passée, la valeur est définie par template_disk_interface. |
format | UNDEF | Spécifiez le format du disque. Si aucune valeur n'est passée, la valeur est définie par template_disk_format.
|
bootable | UNDEF | Vrai si le disque doit être amorçable. |
Dépendances
Aucune.
Exemple de Playbook
---
- name: Créer un modèle à 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: production
template_name: centos7_template
template_memory: 4GiB
template_cpu: 2
template_disk_size: 10GiB
template_disk_storage: mydata
roles:
- ovirt.image-template
- name: Créer un modèle à partir d'un disque stocké dans 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: production
template_name: centos7_template
template_memory: 4GiB
template_cpu: 2
template_disk_size: 10GiB
template_disk_storage: mydata
roles:
- ovirt-image-template
- name: Créer un modèle à partir de qcow2.xz
hosts: localhost
connection: local
gather_facts: false
pre_tasks:
- name: Télécharger le fichier 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: Extraire l'image QCOW téléchargée
command: "unxz --keep --force {{ downloaded_file.dest }}"
- name: Définir qcow_url sur le fichier extrait
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: production
template_name: centos7_template
template_memory: 4GiB
template_cpu: 2
template_disk_size: 10GiB
template_disk_storage: mydata
roles:
- ovirt.image-template
Licence
Licence Apache 2.0
ansible-galaxy install ovirt.image-template