0x0i.phoronix
Rola Ansible :bar_chart: :boom: Phoronix
Spis treści
- Obsługiwane platformy
- Wymagania
- Zmienne roli
- Zależności
- Przykładowy playbook
- Licencja
- Informacje o autorze
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.
- Należy zauważyć, że katalog instalacji jest ustalany przez system zarządzania pakietami i aktualnie domyślnie znajduje się w
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, gdyinstall_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 wersjiphoronix-test-suite
. Linki do oficjalnych wersji można znaleźć tutaj. TYLKO istotne, gdyinstall_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 wykonaniatest 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.
phoronix-test-suite, a comprehensive testing and benchmarking platform
ansible-galaxy install 0x0i.phoronix