0x0i.phoronix

Rol de Ansible :bar_chart: :boom: Phoronix
Tabla de Contenidos
- Plataformas Soportadas
- Requisitos
- Variables del Rol
- Dependencias
- Ejemplo de Playbook
- Licencia
- Información del Autor
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-suiteen 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/binpara todas las distribuciones.
- Ten en cuenta que el directorio de instalación es determinado por el sistema de gestión de paquetes y actualmente se predetermina a
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 cuandoinstall_typeestá 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 dephoronix-test-suite. Los enlaces a versiones oficiales se pueden encontrar aquí. SOLO relevante cuandoinstall_typeestá 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
unitde[Service]y el entorno de ejecución deltest rundel 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-suiteen un host de destino (ver:handlers/main.ymlpara 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.
phoronix-test-suite, a comprehensive testing and benchmarking platform
ansible-galaxy install 0x0i.phoronix