stackhpc.libvirt-host

Host de Libvirt

Este rol configura un host como un hipervisor Libvirt/KVM. También puede configurar grupos de almacenamiento y redes en el host.

Requisitos

El host debe tener habilitada la Tecnología de Virtualización (VT).

Variables del Rol

libvirt_host_pools es una lista de grupos para definir y comenzar. Cada elemento debe ser un diccionario que contenga los siguientes elementos:

  • name El nombre del grupo.
  • type El tipo del grupo, actualmente solo se admiten dir, logical y rbd. lvm2 es un alias para logical, pero este alias está obsoleto y se eliminará en una futura versión.
  • capacity La capacidad, en bytes, del grupo. (opcional)
  • path La ruta absoluta al directorio de respaldo del grupo.
  • mode El modo de acceso del grupo. N.B.: Esto se debe especificar como un número entero sin un cero a la izquierda; por ejemplo: mode: 755. (solo dir)
  • owner El propietario del grupo. (solo dir)
  • group El grupo del grupo. (solo dir)
  • source El nombre del grupo de volúmenes (cuando el tipo es logical) o el grupo RBD (cuando el tipo es rbd).
  • pvs Una lista de volúmenes físicos que componen el grupo de volúmenes. (solo cuando el tipo es logical)
  • hosts La lista de IPs o nombres de host de los monitores de Ceph. (solo rbd)
  • username El nombre de usuario utilizado para la autenticación RADOS. (solo rbd)
  • passphrase La frase de paso utilizada para la autenticación RADOS. (solo rbd)

libvirt_host_networks es una lista de redes para definir y comenzar. Cada elemento debe ser un diccionario que contenga los siguientes elementos:

  • name El nombre de la red.
  • mode El modo de reenvío de la red, se admiten bridge, route, open y nat. Dejar vacío para un modo de red aislado.
  • bridge El nombre de la interfaz de puente para esta red.
  • ip Dirección IP del puente virtual, obligatoria para los modos route, open y nat.
  • netmask Máscara de red del puente virtual, obligatoria para los modos route, open y nat.
  • domain Nombre de dominio DNS para los modos route, open y nat, por defecto al nombre de la red (opcional).
  • dhcp_start Primera IP del rango DHCP en modo route, open o nat (opcional).
  • dhcp_end Última IP del rango DHCP en modo route, open o nat (opcional).
  • routes Lista opcional de rutas adicionales definidas de la siguiente manera:
    • address Dirección de la ruta, obligatoria.
    • prefix Prefijo de la ruta, obligatoria.
    • gateway Puerta de enlace de la ruta, obligatoria.
    • metric Métrica de la ruta (opcional).
  • ipv6 Dirección IPv6 del puente virtual (opcional).
  • ipv6_prefix Prefijo IPv6 del puente virtual (opcional).
  • routesv6 Lista opcional de rutas IPv6 adicionales definidas de la siguiente manera:
    • address Dirección IPv6 de la ruta, obligatoria.
    • prefix Prefijo IPv6 de la ruta, obligatoria.
    • gateway puerta de enlace de la ruta, obligatoria.
    • metric métrica de la ruta (opcional).

libvirt_host_require_vt es si se requiere que la Tecnología de Virtualización de Intel (VT) esté habilitada para ejecutar este rol. Si bien esto proporciona un mejor rendimiento de la máquina virtual, puede que no esté disponible en ciertos entornos. El valor predeterminado es true.

libvirt_host_qemu_emulators: Lista de arquitecturas para las que se deben instalar emuladores de sistema QEMU, por ejemplo, x86. El valor predeterminado es ['x86'] si

libvirt_host_require_vt es false, de lo contrario, el valor predeterminado es una lista vacía.

libvirt_host_enable_efi_support: Si se debe habilitar el soporte de EFI. Este valor predeterminado es false, ya que se necesitan instalar paquetes adicionales.

libvirt_host_var_prefix: Esto determina el directorio bajo /var/run que utiliza libvirt para almacenar el estado, por ejemplo, sockets de dominio unix, así como el nombre predeterminado del archivo PID. Sobrescriba esto si tiene un conflicto con el socket predeterminado, por ejemplo, si puede estar en uso por el contenedor nova_libvirt. El valor predeterminado es "".

libvirt_host_socket_dir: Donde se crea el socket de libvirtd. El valor predeterminado es /var/run/{{ libvirt_host_var_prefix }} si se establece libvirt_host_var_prefix, de lo contrario "".

libvirt_host_pid_path: Ruta al archivo PID que impide que múltiples instancias del daemon se inicien. El valor predeterminado es /var/run/{{ libvirt_host_var_prefix }}.pid si se establece libvirt_host_var_prefix, de lo contrario "".

libvirt_host_libvirtd_args: Argumentos de línea de comandos pasados a libvirtd por el sistema de inicio cuando se inicia libvirtd - se agregarán comillas.

libvirt_host_uri: La URI de conexión de libvirt. El valor predeterminado es qemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock si se establece libvirt_host_var_prefix, de lo contrario "". Si se establece en un valor falso, no se establecerá una URI de conexión explícita al llamar a virsh o a cualquiera de los módulos virt_ de ansible.

libvirt_host_python3: Si se debe instalar la versión de python3 de los enlaces python de libvirt. Si false, se instalarán los enlaces de python 2.

libvirt_host_install_daemon: Si se debe instalar y habilitar el daemon de libvirt. El valor predeterminado es true.

libvirt_host_install_client: Si se debe instalar y habilitar el cliente de libvirt. El valor predeterminado es true.

libvirt_host_extra_daemon_packages: Lista de paquetes adicionales para instalar en hosts de daemon de libvirt.

libvirt_host_extra_client_packages: Lista de paquetes adicionales para instalar en hosts de cliente de libvirt.

libvirt_host_libvirtd_conf_enabled: Si se debe configurar libvirtd.conf. El valor predeterminado es true.

libvirt_host_libvirtd_conf: Configuración para libvirtd.conf. Diccionario que mapea nombres de opciones a valores. El valor predeterminado es un diccionario vacío.

libvirt_host_qemu_conf_enabled: Si se debe configurar qemu.conf. El valor predeterminado es true.

libvirt_host_qemu_conf: Configuración para qemu.conf. Diccionario que mapea nombres de opciones a valores. El valor predeterminado es un diccionario vacío.

libvirt_host_enable_sasl_support: Si se debe habilitar la autenticación SASL. El valor predeterminado es false.

libvirt_host_sasl_conf_enabled: Si se debe configurar la autenticación SASL (/etc/sasl2/libvirt.conf). El valor predeterminado es el mismo que libvirt_host_enable_sasl_support.

libvirt_host_sasl_conf: Configuración para la autenticación SASL (/etc/sasl2/libvirt.conf). Cadena.

libvirt_host_sasl_mech_list: Lista de mecanismos de autenticación SASL de libvirt habilitados. El valor predeterminado es ["SCRAM-SHA-256"] cuando libvirt_host_tls_listen es true, de lo contrario ["DIGEST-MD5"].

libvirt_host_sasl_credentials: Lista de credenciales de autenticación SASL a crear. Cada elemento es un diccionario que contiene los elementos username y password. El valor predeterminado es una lista de un solo elemento que contiene libvirt_host_sasl_authname y libvirt_host_sasl_password.

libvirt_host_sasl_authname: Nombre de usuario para la autenticación SASL. El valor predeterminado es libvirt.

libvirt_host_sasl_password: Contraseña para la autenticación SASL. El valor predeterminado es no establecido.

libvirt_host_sasl_auth_conf_enabled: Si se deben configurar las credenciales de autenticación SASL (/etc/libvirt/auth.conf). El valor predeterminado es el mismo que libvirt_host_enable_sasl_support.

libvirt_host_sasl_auth_conf: Configuración para las credenciales de autenticación SASL (/etc/libvirt/auth.conf). Cadena.

libvirt_host_sasl_auth_conf_filename: Nombre del archivo para escribir las credenciales de autenticación SASL. El valor predeterminado es "/etc/libvirt/auth.conf".

libvirt_host_sasl_auth_conf_owner: Propietario del archivo para escribir las credenciales de autenticación SASL. El valor predeterminado es "root".

libvirt_host_sasl_auth_conf_group: Grupo del archivo para escribir las credenciales de autenticación SASL. El valor predeterminado es "root".

libvirt_host_sasl_auth_conf_mode: Modo del archivo para escribir las credenciales de autenticación SASL. El valor predeterminado es "0600".

libvirt_host_tcp_listen: Si se debe habilitar la unidad de socket TCP de systemd. El valor predeterminado es false.

libvirt_host_tcp_listen_address: Stream de escucha TCP de systemd. Ver el man de systemd.socket para el formato. El valor predeterminado no está establecido.

libvirt_host_tls_listen: Si se debe habilitar la unidad de socket TLS de systemd. El valor predeterminado es false.

libvirt_host_tls_listen_address: Stream de escucha TLS de systemd. Ver el man de systemd.socket para el formato. El valor predeterminado no está establecido.

libvirt_host_tls_server_cert: Certificado del servidor TLS. El valor predeterminado no está establecido.

libvirt_host_tls_server_key: Clave del servidor TLS. El valor predeterminado no está establecido.

libvirt_host_tls_client_cert: Certificado del cliente TLS. El valor predeterminado no está establecido.

libvirt_host_tls_client_key: Clave del cliente TLS. El valor predeterminado no está establecido.

libvirt_host_tls_cacert: Certificado CA TLS. El valor predeterminado no está establecido.

libvirt_host_configure_apparmor: Si se debe configurar AppArmor para los grupos de almacenamiento del directorio.

Dependencias

Ninguna

Ejemplo de Playbook

---
- name: Asegurarse de que Libvirt está configurado
  hosts: all
  roles:
    - role: 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

Información del Autor

Acerca del proyecto

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

Instalar
ansible-galaxy install stackhpc.libvirt-host
Licencia
Unknown
Descargas
393.9k
Propietario
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.