0x0i.phoronix

ansible logo

pts logo

Ansible Rolle :bar_chart: :boom: Phoronix

Galaxy Rolle GitHub Release (letzt verfügbar) Lizenz: MIT

Inhaltsverzeichnis

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.
  • 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, wenn install_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 der phoronix-test-suite. Links zu offiziellen Versionen finden Sie hier. NUR relevant, wenn install_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 des Testlaufs 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.

Über das Projekt

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

Installieren
ansible-galaxy install 0x0i.phoronix
GitHub Repository
Lizenz
Unknown
Downloads
80
Besitzer