stackhpc.libvirt-host

Hôte Libvirt

Ce rôle configure un hôte en tant qu'hyperviseur Libvirt/KVM. Il peut également configurer des pools de stockage et des réseaux sur l'hôte.

Exigences

L'hôte doit avoir la technologie de virtualisation (VT) activée.

Variables de rôle

libvirt_host_pools est une liste de pools à définir et à démarrer. Chaque élément doit être un dictionnaire contenant les éléments suivants :

  • name Le nom du pool.
  • type Le type du pool, actuellement seuls dir, logical et rbd sont pris en charge. lvm2 est pris en charge comme un alias pour logical, mais cet alias est obsolète et sera supprimé dans une future version.
  • capacity La capacité, en octets, du pool. (optionnel)
  • path Le chemin absolu vers le répertoire de base du pool.
  • mode Le mode d'accès du pool. Remarque : Ceci doit être spécifié comme un entier sans un zéro devant ; par exemple : mode: 755. (uniquement dir)
  • owner Le propriétaire du pool. (uniquement dir)
  • group Le groupe du pool. (uniquement dir)
  • source Le nom du groupe de volumes (lorsque le type est logical) ou le pool RBD (lorsque le type est rbd).
  • pvs Une liste de volumes physiques dont se compose le groupe de volumes. (uniquement lorsque le type est logical)
  • hosts La liste des IP ou des noms d'hôtes des moniteurs Ceph. (uniquement rbd)
  • username Le nom d'utilisateur utilisé pour l'authentification RADOS. (uniquement rbd)
  • passphrase La phrase secrète utilisée pour l'authentification RADOS. (uniquement rbd)

libvirt_host_networks est une liste de réseaux à définir et à démarrer. Chaque élément doit être un dictionnaire contenant les éléments suivants :

  • name Le nom du réseau.
  • mode Le mode de transfert du réseau, bridge, route, open et nat sont pris en charge. Laissez vide pour un mode réseau isolé.
  • bridge Le nom de l'interface bridge pour ce réseau.
  • ip Adresse IP du pont virtuel, obligatoire pour le mode route, open et nat.
  • netmask Masque de réseau du pont virtuel, obligatoire pour le mode route, open et nat.
  • domain Nom de domaine DNS pour le mode route, open et nat, par défaut au nom du réseau (optionnel).
  • dhcp_start Première IP de la plage DHCP en mode route, open ou nat (optionnel).
  • dhcp_end Dernière IP de la plage DHCP en mode route, open ou nat (optionnel).
  • routes Liste optionnelle de routes supplémentaires définies comme suit :
    • address Adresse de la route, requise.
    • prefix Préfixe de la route, requis.
    • gateway Passerelle de la route, requise.
    • metric Métrique de la route (optionnel).
  • ipv6 Adresse IPv6 du pont virtuel (optionnel).
  • ipv6_prefix Préfixe IPv6 du pont virtuel (optionnel).
  • routesv6 Liste optionnelle de routes IPv6 supplémentaires définies comme suit :
    • address Adresse IPv6 de la route, requise.
    • prefix Préfixe IPv6 de la route, requis.
    • gateway passerelle de la route, requise.
    • metric métrique de la route (optionnel).

libvirt_host_require_vt indique s'il faut exiger que la technologie de virtualisation Intel (VT) soit activée pour exécuter ce rôle. Bien que cela offre de meilleures performances pour les machines virtuelles, cela peut ne pas être disponible dans certains environnements. La valeur par défaut est true.

libvirt_host_qemu_emulators : Liste des architectures pour lesquelles installer les émulateurs système QEMU, par exemple x86. La valeur par défaut est ['x86'] si

libvirt_host_require_vt est false, sinon la valeur par défaut est une liste vide.

libvirt_host_enable_efi_support : Indique s'il faut activer le support EFI. Cela est désactivé par défaut car des packages supplémentaires doivent être installés.

libvirt_host_var_prefix : Cela détermine le répertoire sous /var/run que libvirt utilise pour stocker l'état, par exemple les sockets de domaine unix, ainsi que le nom par défaut du fichier PID. Remplacez ceci s'il y a un conflit avec le socket par défaut, par exemple s'il pourrait être utilisé par le conteneur nova_libvirt. Par défaut, c'est "".

libvirt_host_socket_dir : Emplacement où le socket libvirtd est créé. Par défaut, c'est /var/run/{{ libvirt_host_var_prefix }} si libvirt_host_var_prefix est défini, sinon "".

libvirt_host_pid_path : Chemin vers le fichier PID qui empêche plusieurs instances du démon de se lancer. Par défaut, c'est /var/run/{{ libvirt_host_var_prefix }}.pid si libvirt_host_var_prefix est défini, sinon "".

libvirt_host_libvirtd_args : Arguments de ligne de commande passés à libvirtd par le système d'initialisation lors du démarrage de libvirtd - des guillemets seront ajoutés.

libvirt_host_uri : L'URI de connexion libvirt. Par défaut, c'est qemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock si libvirt_host_var_prefix est défini, sinon "". S'il est défini sur une valeur fausse, une URI de connexion explicite ne sera pas définie lors de l'appel de virsh ou de tout module Ansible virt_.

libvirt_host_python3 : Indique si la version python3 de la bibliothèque python libvirt doit être installée. Si false, les liants python 2 seront installés.

libvirt_host_install_daemon : Indique s'il faut installer et activer le démon libvirt. La valeur par défaut est true.

libvirt_host_install_client : Indique s'il faut installer et activer le client libvirt. La valeur par défaut est true.

libvirt_host_extra_daemon_packages : Liste des packages supplémentaires à installer sur les hôtes du démon libvirt.

libvirt_host_extra_client_packages : Liste des packages supplémentaires à installer sur les hôtes du client libvirt.

libvirt_host_libvirtd_conf_enabled : Indique s'il faut configurer libvirtd.conf. La valeur par défaut est true.

libvirt_host_libvirtd_conf : Configuration pour libvirtd.conf. Dictionnaire associant des noms d'options à des valeurs. La valeur par défaut est un dictionnaire vide.

libvirt_host_qemu_conf_enabled : Indique s'il faut configurer qemu.conf. La valeur par défaut est true.

libvirt_host_qemu_conf : Configuration pour qemu.conf. Dictionnaire associant des noms d'options à des valeurs. La valeur par défaut est un dictionnaire vide.

libvirt_host_enable_sasl_support : Indique s'il faut activer le support de l'authentification SASL. La valeur par défaut est false.

libvirt_host_sasl_conf_enabled : Indique s'il faut configurer l'authentification SASL (/etc/sasl2/libvirt.conf). La valeur par défaut est la même que celle de libvirt_host_enable_sasl_support.

libvirt_host_sasl_conf : Configuration pour l'authentification SASL (/etc/sasl2/libvirt.conf). Chaîne.

libvirt_host_sasl_mech_list : Liste des mécanismes d'authentification SASL libvirt activés. La valeur par défaut est ["SCRAM-SHA-256"] lorsque libvirt_host_tls_listen est true, sinon ["DIGEST-MD5"].

libvirt_host_sasl_credentials : Liste des identifiants d'authentification SASL à créer. Chaque élément est un dictionnaire contenant des éléments username et password. La valeur par défaut est une liste contenant un seul élément avec libvirt_host_sasl_authname et libvirt_host_sasl_password.

libvirt_host_sasl_authname : Nom d'utilisateur pour l'authentification SASL. La valeur par défaut est libvirt.

libvirt_host_sasl_password : Mot de passe pour l'authentification SASL. La valeur par défaut est non définie.

libvirt_host_sasl_auth_conf_enabled : Indique s'il faut configurer les identifiants d'authentification SASL (/etc/libvirt/auth.conf). La valeur par défaut est la même que celle de libvirt_host_enable_sasl_support.

libvirt_host_sasl_auth_conf : Configuration pour les identifiants d'authentification SASL (/etc/libvirt/auth.conf). Chaîne.

libvirt_host_sasl_auth_conf_filename : Nom du fichier dans lequel écrire les identifiants d'authentification SASL. La valeur par défaut est "/etc/libvirt/auth.conf".

libvirt_host_sasl_auth_conf_owner : Propriétaire du fichier dans lequel écrire les identifiants d'authentification SASL. La valeur par défaut est "root".

libvirt_host_sasl_auth_conf_group : Groupe du fichier dans lequel écrire les identifiants d'authentification SASL. La valeur par défaut est "root".

libvirt_host_sasl_auth_conf_mode : Mode du fichier dans lequel écrire les identifiants d'authentification SASL. La valeur par défaut est "0600".

libvirt_host_tcp_listen : Indique s'il faut activer l'unité de socket TCP de systemd. La valeur par défaut est false.

libvirt_host_tcp_listen_address : Stream d'écoute TCP de systemd. Voir le manuel systemd.socket pour le format. La valeur par défaut n'est pas définie.

libvirt_host_tls_listen : Indique s'il faut activer l'unité de socket TLS de systemd. La valeur par défaut est false.

libvirt_host_tls_listen_address : Stream d'écoute TLS de systemd. Voir le manuel systemd.socket pour le format. La valeur par défaut n'est pas définie.

libvirt_host_tls_server_cert : Certificat serveur TLS. La valeur par défaut n'est pas définie.

libvirt_host_tls_server_key : Clé serveur TLS. La valeur par défaut n'est pas définie.

libvirt_host_tls_client_cert : Certificat client TLS. La valeur par défaut n'est pas définie.

libvirt_host_tls_client_key : Clé client TLS. La valeur par défaut n'est pas définie.

libvirt_host_tls_cacert : Certificat CA TLS. La valeur par défaut n'est pas définie.

libvirt_host_configure_apparmor : Indique s'il faut configurer AppArmor pour les pools de stockage des répertoires.

Dépendances

Aucune

Exemple de Playbook

---
- nom : S'assurer que Libvirt est configuré
  hôtes : tous
  rôles :
    - rôle : stackhpc.libvirt-host
      libvirt_host_pools:
        - name: my-pool
          type: dir
          capacity: 1024
          path: /path/to/pool
          mode: 755
          owner: my-user
          group: my-group
        - name: lvm_pool
          type: logical
          source: vg1
          target: /dev/vg1
          pvs:
            - /dev/sda3
        - name: rbd-pool
          type: rbd
          source: rbd
          hosts:
            - 192.168.42.200
            - 192.168.42.204
            - 192.168.42.208
          username: admin
          passphrase: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      libvirt_host_networks:
        - name: br-example
          mode: bridge
          bridge: br-example
        - name: brnat-example
          mode: nat
          bridge: brnat-example
          domain: example.local
          ip: 192.168.133.254
          netmask: 255.255.255.0
          dhcp_start: 192.168.133.100
          dhcp_end: 192.168.133.200

Informations sur l'auteur

À propos du projet

Role to install and configure a host as a Libvirt/KVM hypervisor

Installer
ansible-galaxy install stackhpc.libvirt-host
Licence
Unknown
Téléchargements
393.9k
Propriétaire
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.