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 : :<somme de contrôle>, par ex. checksum="sha256:D98291AC[...]B6DC7B97".
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.
  • cow - Si défini, le disque sera créé comme un disque léger, donc l'espace sera alloué pour le volume au besoin. Ce format est également connu sous le nom de disques provisionnés finement.
  • raw - Si défini, l'espace disque sera alloué immédiatement. Ce format est également connu sous le nom de disques préalloués.
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

asciicast

Licence

Licence Apache 2.0

À propos du projet

Role to create template from external image.

Installer
ansible-galaxy install ovirt.image-template
Licence
apache-2.0
Téléchargements
42.2k
Propriétaire
Open Virtual Datacenter