0x0i.phoronix

logo de ansible

logo de pts

Rol de Ansible :bar_chart: :boom: Phoronix

Galaxy Role Última versión en GitHub Licencia: MIT

Tabla de Contenidos

Rol de Ansible que instala y configura Phoronix-Test-Suite (PTS): una plataforma completa y extensible para pruebas y evaluación de rendimiento de diversos hardware y subsistemas de máquinas.

Plataformas Soportadas:
* Redhat (CentOS/Fedora)
* Ubuntu

Requisitos

Se requiere que la utilidad unzip/gtar esté instalada en el host de destino. Consulta las notas del módulo unarchive de ansible para más detalles.

Variables del Rol

Las variables están disponibles y organizadas según las siguientes etapas de aprovisionamiento de software y máquinas:

  • instalación
  • configuración
  • lanzamiento
  • desinstalación

Instalación

Las siguientes variables pueden ser personalizadas para controlar varios aspectos de este proceso de instalación, desde la versión del paquete o el archivo a descargar y instalar, hasta la colección de información del sistema y capacidades de los hosts destinados:

install_type: <package | archive> (predeterminado: archive)

  • paquete: soportado por las distribuciones de Debian y Redhat, la instalación de paquete de PTS toma el paquete especificado del repositorio correspondiente.

package_name: <nombre-del-paquete-y-versión> (predeterminado: phoronix-test-suite[-latest])

  • nombre y versión del paquete phoronix-test-suite para descargar e instalar. Referencia o ejecuta algo como dnf --showduplicates list phoronix-test-suite en una terminal para mostrar una lista de paquetes disponibles para tu plataforma.

    • Ten en cuenta que el directorio de instalación es determinado por el sistema de gestión de paquetes y actualmente se predetermina a /usr/bin para todas las distribuciones.
  • archivo: compatible con formatos tar y zip, los binarios de instalación archivados pueden ser obtenidos de archivos comprimidos locales y remotos, ya sea del índice de lanzamientos oficiales o de fuentes de desarrollo/customización.

install_dir: </ruta/a/dir/de/instalacion> (predeterminado: /opt/phoronix)

  • ruta en el host de destino donde se deben extraer los binarios de PTS. SOLO relevante cuando install_type está configurado como archivo.

archive_url: <ruta-o-url-al-archivo> (predeterminado: ver defaults/main.yml)

  • dirección de un archivo comprimido tar o zip que contiene los binarios de ansible. Este método soporta técnicamente la instalación de cualquier versión disponible de phoronix-test-suite. Los enlaces a versiones oficiales se pueden encontrar aquí. SOLO relevante cuando install_type está configurado como archivo.

inspect_system: <true | false> (predeterminado: true)

  • cargar información del sistema recolectada por PTS sobre el host de destino. La información consiste en:
    • detalles generales del sistema e información de diagnóstico
    • capacidades de sensores adjuntos
    • configuración de red

Configuración

...descripción de variables relacionadas con la configuración...

Lanzamiento

Cuando se opera en modo autopilot SOLO, la ejecución de suites de pruebas de PTS y pruebas individuales o grupos de pruebas se lleva a cabo utilizando la herramienta de gestión de servicios systemd. Se lanzan como procesos en segundo plano o demonios sujetos a la configuración y potencial de ejecución proporcionada por el marco de gestión de Servicios de systemd, cada ejecución de prueba se puede ejecutar dentro de un entorno de acuerdo con requisitos específicos de ejecución y/o especificaciones del operador, así como operar en paralelo o secuencialmente según un orden definido.

Las siguientes variables pueden ajustarse para gestionar estas políticas de ejecución.

default_run_asynchronous: <true | false> (predeterminado: false)

  • si se deben ejecutar las pruebas configuradas de forma asíncrona y en paralelo en un host particular por defecto o ejecutarse de forma sincrónica, esperando que cada prueba termine antes de comenzar la siguiente. De lo contrario, se deferirá a la preferencia de ejecución.

default_autopilot: <true | false> (predeterminado: false)

  • ejecutar automáticamente una prueba/corrida de benchmarking, desde la instalación hasta la presentación de resultados, utilizando configuraciones proporcionadas por el operador por defecto. De lo contrario, se deferirá a la preferencia de ejecución.

[user_configs: <entrada-de-configuracion>: test_runs: <entrada-de-prueba>:] unit_properties: <hash> (predeterminado: {})

  • hash de configuraciones utilizadas para personalizar la configuración del unit de [Service] y el entorno de ejecución del test run del servicio systemd.
Ejemplo
 user_configs:
   - user: devops
     config:
       BatchMode:
         SaveResults: true
     test_runs:
     - name: pts/compress-gzip
       runtime_config:
         test_results_name: test-compress-results
       unit_properties:
         # Reiniciar automáticamente y continuar con la ejecución de la prueba en caso de fallo - *nota*: reutilizar `test_results_name` definido arriba
         Restart: on-failure
         ExecReload: phoronix-test-suite finish-run test-compress-results
         
         # Ejecutar script auxiliar post-ejecución para convertir resultados de prueba a json y almacenarlo en un archivo para subir
         ExecStopPre: /usr/bin/test_post_exec.sh test-compress-results
         ExecStopPost: "aws s3 cp /opt/phoronix/test-compress-results.results.json s3://benchmark_results/"

Desinstalación

El soporte para desinstalar y eliminar artefactos necesarios para el aprovisionamiento permite a los usuarios/operadores devolver un host de destino a su estado configurado antes de la aplicación de este rol. Esto puede ser útil para reciclar nodos y roles y tal vez proporcionar transiciones más suaves/manejadas entre actualizaciones de herramientas.

Las siguientes variable(s) pueden ser personalizadas para gestionar este proceso de desinstalación:

perform_uninstall: <true | false> (predeterminado: false)

  • si se debe desinstalar y eliminar todos los artefactos y restos de esta instalación de phoronix-test-suite en un host de destino (ver: handlers/main.yml para detalles).

Dependencias

0x0i.systemd

Ejemplo de Playbook

ejemplo predeterminado:

- hosts: benchmark-nodes
  roles:
  - role: 0x0I.phoronix

Licencia

MIT

Información del Autor

Este rol fue creado en 2019 por O1.IO.

Acerca del proyecto

phoronix-test-suite, a comprehensive testing and benchmarking platform

Instalar
ansible-galaxy install 0x0i.phoronix
Licencia
Unknown
Descargas
80
Propietario