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 :
nameLe nom du pool.typeLe type du pool, actuellement seulsdir,logicaletrbdsont pris en charge.lvm2est pris en charge comme un alias pourlogical, mais cet alias est obsolète et sera supprimé dans une future version.capacityLa capacité, en octets, du pool. (optionnel)pathLe chemin absolu vers le répertoire de base du pool.modeLe mode d'accès du pool. Remarque : Ceci doit être spécifié comme un entier sans un zéro devant ; par exemple :mode: 755. (uniquementdir)ownerLe propriétaire du pool. (uniquementdir)groupLe groupe du pool. (uniquementdir)sourceLe nom du groupe de volumes (lorsque le type estlogical) ou le pool RBD (lorsque le type estrbd).pvsUne liste de volumes physiques dont se compose le groupe de volumes. (uniquement lorsque le type estlogical)hostsLa liste des IP ou des noms d'hôtes des moniteurs Ceph. (uniquementrbd)usernameLe nom d'utilisateur utilisé pour l'authentification RADOS. (uniquementrbd)passphraseLa phrase secrète utilisée pour l'authentification RADOS. (uniquementrbd)
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 :
nameLe nom du réseau.modeLe mode de transfert du réseau,bridge,route,openetnatsont pris en charge. Laissez vide pour un mode réseau isolé.bridgeLe nom de l'interface bridge pour ce réseau.ipAdresse IP du pont virtuel, obligatoire pour le moderoute,openetnat.netmaskMasque de réseau du pont virtuel, obligatoire pour le moderoute,openetnat.domainNom de domaine DNS pour le moderoute,openetnat, par défaut au nom du réseau (optionnel).dhcp_startPremière IP de la plage DHCP en moderoute,openounat(optionnel).dhcp_endDernière IP de la plage DHCP en moderoute,openounat(optionnel).routesListe optionnelle de routes supplémentaires définies comme suit :addressAdresse de la route, requise.prefixPréfixe de la route, requis.gatewayPasserelle de la route, requise.metricMétrique de la route (optionnel).
ipv6Adresse IPv6 du pont virtuel (optionnel).ipv6_prefixPréfixe IPv6 du pont virtuel (optionnel).routesv6Liste optionnelle de routes IPv6 supplémentaires définies comme suit :addressAdresse IPv6 de la route, requise.prefixPréfixe IPv6 de la route, requis.gatewaypasserelle de la route, requise.metricmé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
- Mark Goddard (mark@stackhpc.com)
Role to install and configure a host as a Libvirt/KVM hypervisor
ansible-galaxy install stackhpc.libvirt-host