0x0i.phoronix

logo ansible

logo pts

Rola Ansible :bar_chart: :boom: Phoronix

Rola Galaxy Ostatnia wersja GitHub Licencja: MIT

Spis treści

Rola Ansible, która instaluje i konfiguruje Phoronix Test Suite (PTS): kompleksową i rozbudowaną platformę do testowania i benchmarkowania dla różnych systemów sprzętowych i maszynowych.

Obsługiwane platformy:
* Redhat (CentOS/Fedora)
* Ubuntu

Wymagania

Wymaga zainstalowania narzędzia unzip/gtar na docelowym hoście. Zobacz notatki modułu ansible unarchive tutaj dla szczegółów.

Zmienne roli

Zmienne są dostępne i zorganizowane według następujących etapów dostarczania oprogramowania i maszyn:

  • instalacja
  • konfiguracja
  • uruchamianie
  • deinstalacja

Instalacja

Następujące zmienne można dostosować, aby kontrolować różne aspekty tego procesu instalacji, począwszy od wersji pakietu lub archiwum do pobrania i zainstalowania, po zbieranie informacji o systemie i możliwościach docelowych hostów:

install_type: <package | archive> (domyślnie: archive)

  • package: wspierane przez dystrybucje Debian i Redhat, instalacja pakietu PTS pobiera określony pakiet z odpowiedniego repozytorium zarządzania pakietami.

package_name: <nazwa-i-wersja-pakietu> (domyślnie: phoronix-test-suite[-latest])

  • nazwa i wersja pakietu phoronix-test-suite do pobrania i zainstalowania. Referencja lub uruchom coś w stylu dnf --showduplicates list phoronix-test-suite w terminalu, aby wyświetlić listę dostępnych pakietów dla twojej platformy.

    • Należy zauważyć, że katalog instalacji jest ustalany przez system zarządzania pakietami i aktualnie domyślnie znajduje się w /usr/bin dla wszystkich dystrybucji.
  • archive: kompatybilne z formatami tar i zip, skompresowane pliki instalacyjne można uzyskać z lokalnych i zdalnych archiwów, zarówno z oficjalnego indeksu wydań, jak i tych generowanych z źródeł deweloperskich/niestandardowych.

install_dir: </ścieżka/do/katalogu/instalacyjnego> (domyślnie: /opt/phoronix)

  • ścieżka na docelowym hoście, do której powinny zostać rozpakowane pliki PTS. TYLKO istotne, gdy install_type jest ustawione na archive

archive_url: <ścieżka-lub-url-do-archiwum> (domyślnie: patrz defaults/main.yml)

  • adres skompresowanego archiwum tar lub zip zawierającego pliki binarne ansible. Ta metoda technicznie wspiera instalację dowolnej dostępnej wersji phoronix-test-suite. Linki do oficjalnych wersji można znaleźć tutaj. TYLKO istotne, gdy install_type jest ustawione na archive

inspect_system: <true | false> (domyślnie: true)

  • ładowanie zgromadzonych informacji o systemie PTS dotyczących docelowego hosta. Informacje składają się z:
    • ogólnych szczegółów systemu i informacji diagnostycznych
    • możliwości podłączonych sensorów
    • konfiguracji sieciowej

Konfiguracja

...opis zmiennych związanych z konfiguracją...

Uruchamianie

Działając tylko w trybie autopilot, wykonywanie zestawów testów PTS oraz pojedynczych lub grup testów odbywa się za pomocą narzędzia zarządzania usługami systemd. Uruchamiane jako procesy w tle lub demony, poddane konfiguracji i możliwości wykonania oferowanej przez framework zarządzania usługami systemd, każdy test może być wykonywany w środowisku zgodnie z określonymi wymaganiami uruchomienia i/lub specyfikacjami operatora, a także można je uruchamiać równolegle lub sekwencyjnie na podstawie ustalonej kolejności.

Następujące zmienne można dostosować w celu zarządzania tymi politykami wykonania.

default_run_asynchronous: <true | false> (domyślnie: false)

  • czy wykonywać skonfigurowane testy asynchronicznie i równolegle na danym hoście domyślnie, czy też wykonywać je synchronicznie, czekając na zakończenie każdego testu przed rozpoczęciem następnego. W przeciwnym razie, odwołaj się do preferencji uruchomienia.

default_autopilot: <true | false> (domyślnie: false)

  • automatycznie wykonać uruchomienie testu/benchmarku, od instalacji po raportowanie wyników, posługując się dostarczonymi konfiguracjami operatora domyślnie. W przeciwnym razie, odwołaj się do preferencji uruchomienia.

[user_configs: <config-entry>: test_runs: <test-entry>:] unit_properties: <hash> (domyślnie: {})

  • hash ustawień używany do dostosowania konfiguracji jednostki [Service] i środowiska wykonania test run jako usługi systemd.
Przykład
 user_configs:
   - user: devops
     config:
       BatchMode:
         SaveResults: true
     test_runs:
     - name: pts/compress-gzip
       runtime_config:
         test_results_name: test-compress-results
       unit_properties:
         # Automatycznie uruchom ponownie i kontynuuj uruchomienie testu w przypadku błędu - *uwaga*: ponowne użycie `test_results_name` zdefiniowanego powyżej
         Restart: on-failure
         ExecReload: phoronix-test-suite finish-run test-compress-results
         
         # Uruchom pomocniczy skrypt po wykonaniu, aby przekonwertować wyniki testu na format json i przechować w pliku do przesłania
         ExecStopPre: /usr/bin/test_post_exec.sh test-compress-results
         ExecStopPost: "aws s3 cp /opt/phoronix/test-compress-results.results.json s3://benchmark_results/"

Deinstalacja

Wsparcie dla deinstalacji i usuwania artefaktów niezbędnych do dostarczania pozwala użytkownikom/operatorom przywrócić docelowy host do stanu skonfigurowanego przed zastosowaniem tej roli. Może to być użyteczne przy recyklingu węzłów i ról oraz umożliwić bardziej płynne/zarządzane przejścia między aktualizacjami narzędzi.

Następująca zmienna(y) mogą być dostosowane do zarządzania tym procesem deinstalacji:

perform_uninstall: <true | false> (domyślnie: false)

  • czy odinstalować i usunąć wszystkie artefakty i pozostałości tej instalacji phoronix-test-suite na docelowym hoście (zobacz: handlers/main.yml dla szczegółów)

Zależności

0x0i.systemd

Przykładowy playbook

domyślny przykład:

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

Licencja

MIT

Informacje o autorze

Ta rola została stworzona w 2019 roku przez O1.IO.

O projekcie

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

Zainstaluj
ansible-galaxy install 0x0i.phoronix
Licencja
Unknown
Pobrania
80
Właściciel