0x0i.phoronix
Rôle Ansible :bar_chart: :boom: Phoronix
Table des Matières
- Plateformes prises en charge
- Exigences
- Variables du rôle
- Dépendances
- Exemple de Playbook
- Licence
- Informations sur l'auteur
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.
- Notez que le répertoire d'installation est déterminé par le système de gestion des packages et par défaut sous
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 lorsqueinstall_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 dephoronix-test-suite
. Les liens vers les versions officielles peuvent être trouvés ici. UNIQUEMENT pertinent lorsqueinstall_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.
phoronix-test-suite, a comprehensive testing and benchmarking platform
ansible-galaxy install 0x0i.phoronix