0x0i.phoronix
Ansible Rolle :bar_chart: :boom: Phoronix
Inhaltsverzeichnis
- Unterstützte Plattformen
- Anforderungen
- Rollenvariablen
- Abhängigkeiten
- Beispiel-Playbook
- Lizenz
- Autorinformationen
Ansible-Rolle, die das Phoronix-Test-Suite (PTS) installiert und konfiguriert: Eine umfassende und erweiterbare Test- und Benchmarking-Plattform für verschiedene Hardware- und Maschinen-Subsysteme.
Unterstützte Plattformen:
* Redhat(CentOS/Fedora)
* Ubuntu
Anforderungen
Benötigt das Dienstprogramm unzip/gtar
, um auf dem Ziel-Host installiert zu sein. Siehe die Anmerkungen im Ansible unarchive
Modul hier.
Rollenvariablen
Variablen sind verfügbar und in folgende Software- und Maschinenbereitstellungsphasen organisiert:
- installation
- konfiguration
- start
- deinstallation
Installation
Folgende Variablen können angepasst werden, um verschiedene Aspekte dieses Installationsprozesses zu steuern, von der Paketversion oder dem Archiv, das heruntergeladen und installiert werden soll, bis zur Sammlung von Systeminformationen und Fähigkeiten der Ziel-Hosts:
install_type: <package | archive>
(Standard: archive)
- package: wird von Debian- und Redhat-Distributionen unterstützt. Bei der Paketinstallation von PTS wird das angegebene Paket aus dem jeweiligen Paketmanagement-Repository heruntergeladen.
package_name: <package-name-und-version>
(Standard: phoronix-test-suite[-latest])
Name und Version des phoronix-test-suite Pakets, das heruntergeladen und installiert werden soll. Referenz oder führen Sie etwas wie
dnf --showduplicates list phoronix-test-suite
in einem Terminal aus, um eine Liste der verfügbaren Pakete für Ihre Plattform anzuzeigen.- Beachten Sie, dass das Installationsverzeichnis vom Paketmanagementsystem bestimmt wird und derzeit standardmäßig unter
/usr/bin
für alle Distributionen liegt.
- Beachten Sie, dass das Installationsverzeichnis vom Paketmanagementsystem bestimmt wird und derzeit standardmäßig unter
archive: kompatibel mit tar und zip Formaten, archivierte Installations-Binärdateien können aus lokalen und entfernten komprimierten Archiven vom offiziellen Release-Index oder von entwickelten/benutzerdefinierten Quellen bezogen werden.
install_dir: </path/to/installation/dir>
(Standard: /opt/phoronix
)
- Pfad auf dem Ziel-Host, wo die
PTS
-Binärdateien extrahiert werden sollen. NUR relevant, wenninstall_type
auf archive gesetzt ist.
archive_url: <path-or-url-to-archive>
(Standard: siehe defaults/main.yml
)
- Adresse eines komprimierten tar oder zip Archivs, das
ansible
Binärdateien enthält. Diese Methode unterstützt technisch die Installation jeder verfügbaren Version derphoronix-test-suite
. Links zu offiziellen Versionen finden Sie hier. NUR relevant, wenninstall_type
auf archive gesetzt ist.
inspect_system: <true | false>
(Standard: true)
*Lädt PTS gesammelte Systeminformationen über den Ziel-Host. Informationen bestehen aus:
- allgemeinen Systemdetails und Diagnosedaten
- angeschlossenen Sensorkapazitäten
- Netzwerk-Konfiguration
Konfiguration
...Beschreibung der konfigurationsbezogenen Variablen...
Start
Im autopilot
Modus NUR kann die Ausführung von PTS Test-Suites und einzelnen oder Gruppen von Tests mit dem systemd Dienstverwaltungstool durchgeführt werden. Diese werden als Hintergrundprozesse oder Daemons gestartet, die den Konfigurationen und Ausführungsmöglichkeiten des zugrunde liegenden systemd
Service-Verwaltungssystems unterliegen. Jeder Testlauf kann in einer Umgebung ausgeführt werden, die spezifischen Anforderungen und/oder Vorgaben des Betreibers entspricht und kann sowohl parallel als auch sequenziell basierend auf einer definierten Reihenfolge betrieben werden.
Die folgenden Variablen können angepasst werden, um diese Ausführungsrichtlinien zu verwalten.
default_run_asynchronous: <true | false>
(Standard: false)
- Ob konfigurierte Tests standardmäßig asynchron und parallel auf einem bestimmten Host ausgeführt werden sollen oder synchron ausgeführt werden sollen, wobei auf den Abschluss jedes Tests gewartet wird, bevor der nächste gestartet wird. Ansonsten auf die Laufpräferenz zurückgreifen.
default_autopilot: <true | false>
(Standard: false)
- Ob ein Test-/Benchmarklauf automatisch durchgeführt werden soll, von der Installation bis zur Ergebnisberichterstattung, unter Verwendung der bereitgestellten Konfigurationen des Betreibers standardmäßig. Ansonsten auf die Laufpräferenz zurückgreifen.
[user_configs: <config-entry>: test_runs: <test-entry>:] unit_properties: <hash>
(Standard: {}
)
- Hash von Einstellungen, die verwendet werden, um die
[Service]
Einheit Konfiguration und Ausführungsumgebung desTestlaufs
systemd-Dienstes anzupassen.
Beispiel
user_configs:
- user: devops
config:
BatchMode:
SaveResults: true
test_runs:
- name: pts/compress-gzip
runtime_config:
test_results_name: test-compress-results
unit_properties:
# Automatisch neu starten und Testlauf bei Fehler fortsetzen - *Hinweis*: Wiederverwendung des oben definierten `test_results_name`
Restart: on-failure
ExecReload: phoronix-test-suite finish-run test-compress-results
# Führen Sie ein Hilfs-Skript nach der Ausführung aus, um Testergebnisse in JSON zu konvertieren und in einer Datei zum Hochladen zu speichern
ExecStopPre: /usr/bin/test_post_exec.sh test-compress-results
ExecStopPost: "aws s3 cp /opt/phoronix/test-compress-results.results.json s3://benchmark_results/"
Deinstallation
Die Unterstützung für die Deinstallation und Entfernung von Artefakten, die für die Bereitstellung notwendig sind, ermöglicht es Benutzern/Betriebern, einen Ziel-Host in seinen konfigurierten Zustand vor der Anwendung dieser Rolle zurückzuführen. Dies kann nützlich sein, um Knoten und Rollen wiederzuverwerten und vielleicht einen sanfteren/gesteuerten Übergang zwischen Werkzeug-Upgrades zu ermöglichen.
Folgende Variable(n) können angepasst werden, um diesen Deinstallationsprozess zu verwalten:
perform_uninstall: <true | false>
(Standard: false
)
- Ob alle Artefakte und Reste dieser
phoronix-test-suite
Installation auf einem Ziel-Host deinstalliert und entfernt werden sollen (siehe:handlers/main.yml
für Details)
Abhängigkeiten
0x0i.systemd
Beispiel-Playbook
Standardbeispiel:
- hosts: benchmark-nodes
roles:
- role: 0x0I.phoronix
Lizenz
MIT
Autorinformationen
Diese Rolle wurde 2019 von O1.IO erstellt.
phoronix-test-suite, a comprehensive testing and benchmarking platform
ansible-galaxy install 0x0i.phoronix