0x0i.phoronix

logo ansible

logo pts

Rôle Ansible :bar_chart: :boom: Phoronix

Galaxy Role GitHub release (latest by date) License: MIT

Table des Matières

Rôle Ansible qui installe et configure Phoronix Test Suite (PTS) : une plateforme de test et d'évaluation complète et extensible pour une variété de matériel et de sous-systèmes de machine.

Plateformes prises en charge :
* Redhat (CentOS/Fedora)
* Ubuntu

Exigences

Nécessite l'utilitaire unzip/gtar installé sur l'hôte cible. Veuillez consulter les notes du module ansible unarchive pour plus de détails.

Variables du rôle

Les variables sont disponibles et organisées selon les étapes de provisionnement de logiciels et de machines suivantes :

  • installation
  • configuration
  • lancement
  • désinstallation

Installation

Les variables suivantes peuvent être personnalisées pour contrôler différents aspects de ce processus d'installation, allant de la version du package ou de l'archive à télécharger et installer jusqu'à la collecte d'informations système et des capacités des hôtes ciblés :

install_type: <package | archive> (par défaut : archive)

  • package : pris en charge par les distributions Debian et Redhat, l'installation du package PTS extrait le package spécifié du référentiel de gestion des packages correspondant.

package_name: <nom-du-package-et-version> (par défaut : phoronix-test-suite[-latest])

  • nom et version du package phoronix-test-suite à télécharger et installer. Référence ou exécutez quelque chose comme dnf --showduplicates list phoronix-test-suite dans un terminal pour afficher la liste des packages disponibles pour votre plateforme.

    • Notez que le répertoire d'installation est déterminé par le système de gestion des packages et par défaut sous /usr/bin pour toutes les distributions.
  • archive : compatible avec les formats tar et zip, les binaires d'installation archivés peuvent être obtenus à partir d'archives compressées locales et distantes, soit à partir de l'index des versions officielles, soit générées à partir de sources de développement/custom.

install_dir: </chemin/vers/le/répertoire/d'installation> (par défaut : /opt/phoronix)

  • chemin sur l'hôte cible où les binaires PTS doivent être extraits. UNIQUEMENT pertinent lorsque install_type est défini sur archive

archive_url: <chemin-ou-url-vers-l'archive> (par défaut : voir defaults/main.yml)

  • adresse d'une archive compressée tar ou zip contenant des binaires ansible. Cette méthode prend techniquement en charge l'installation de n'importe quelle version disponible de phoronix-test-suite. Les liens vers les versions officielles peuvent être trouvés ici. UNIQUEMENT pertinent lorsque install_type est défini sur archive

inspect_system: <true | false> (par défaut : true)

  • charge les informations système collectées par PTS sur l'hôte cible. Les informations comprennent :
    • détails généraux sur le système et informations de diagnostic
    • capacités des capteurs attachés
    • configuration réseau

Configuration

...description des variables liées à la configuration...

Lancement

Lors de l'exécution en mode autopilot UNIQUEMENT, l'exécution des suites de tests PTS et des tests individuels ou de groupes de tests se fait à l'aide de l'outil de gestion de services systemd. Lancés en tant que processus d'arrière-plan ou démons soumis à la configuration et à la capacité d'exécution fournies par le cadre de gestion des Services systemd, chaque test peut être exécuté dans un environnement selon des exigences spécifiques d'exécution et/ou des spécifications opérateur, ainsi qu'exécuté en parallèle ou séquentiellement selon un ordre défini.

Les variables suivantes peuvent être ajustées pour gérer ces politiques d'exécution.

default_run_asynchronous: <true | false> (par défaut : false)

  • Si les tests configurés doivent être exécutés de manière asynchrone et en parallèle sur un hôte particulier par défaut ou exécutés de manière synchronisée en attendant que chaque test se termine avant de démarrer le suivant. Sinon, se référer à la préférence d'exécution.

default_autopilot: <true | false> (par défaut : false)

  • Si un test/évaluation doit être exécuté automatiquement, de l'installation au rapport des résultats, en utilisant les configurations fournies par l'opérateur par défaut. Sinon, se référer à la préférence d'exécution.

[user_configs: <entrée-config>: test_runs: <entrée-test>:] unit_properties: <hash> (par défaut : {})

  • hash des paramètres utilisés pour personnaliser la configuration et l'environnement d'exécution de l’unité test run du service systemd.
Exemple
 user_configs:
   - user: devops
     config:
       BatchMode:
         SaveResults: true
     test_runs:
     - name: pts/compress-gzip
       runtime_config:
         test_results_name: test-compress-results
       unit_properties:
         # Redémarrer automatiquement et continuer l'exécution du test en cas d'échec - *note* : réutilisation du `test_results_name` défini ci-dessus
         Restart: on-failure
         ExecReload: phoronix-test-suite finish-run test-compress-results
         
         # Exécuter un script d'aide après l'exécution pour convertir les résultats des tests en json et les stocker dans un fichier pour téléchargement
         ExecStopPre: /usr/bin/test_post_exec.sh test-compress-results
         ExecStopPost: "aws s3 cp /opt/phoronix/test-compress-results.results.json s3://benchmark_results/"

Désinstallation

Le support pour désinstaller et supprimer les artefacts nécessaires au provisionnement permet aux utilisateurs/opérateurs de ramener un hôte cible à son état configuré avant l'application de ce rôle. Cela peut être utile pour recycler les nœuds et les rôles et peut-être fournir des transitions plus douces/gestionnées entre les mises à niveau d'outils.

Les variables suivantes peuvent être personnalisées pour gérer ce processus de désinstallation :

perform_uninstall: <true | false> (par défaut : false)

  • si l'installation de phoronix-test-suite sur un hôte cible doit être désinstallée et tous les artefacts et résidus de l'installation doivent être supprimés (voir : handlers/main.yml pour plus de détails)

Dépendances

0x0i.systemd

Exemple de Playbook

exemple par défaut :

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

Licence

MIT

Informations sur l'auteur

Ce rôle a été créé en 2019 par O1.IO.

À propos du projet

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

Installer
ansible-galaxy install 0x0i.phoronix
Licence
Unknown
Téléchargements
80
Propriétaire