Banchmark runner container.
W celu uruchamiania benchmarków potrzebujemy dedykowanego kontenera uruchomieniowego.
Kontener będzie uruchamiał skrypt python, i wymaga następujących pakietów:
-
influxdb
- do wysyłania wyników do monitoringu -
ruamel.yaml
- do wczytywania konfiguracji z pliku yaml -
libvirt-python
- w celu odpytywania o zajęte zasobi -
docker-compose
- w celu uruchamiania benchmarków za pośrednictwemdocker-compose
Propozycja API kontenera
Punkty montowania
-
/app/config.yaml
- Punkt montowania pliku konfiguracyjnego -
/app/docker-composes
- Punkt montowania folderu zawierającego pliki docker-compose konfigurujące poszczególne benchmarki -
/var/cache/benchmark
- Punkt montowania folderu w którym zostanie wygenerowany plik"result.txt"
z wynikami testów (Założenia API poszczególnych benchmarków) -
/var/run/docker.sock
- dostęp do dokera ;)
/app/config.yml
Struktura konfiguracji -
(optional)
log_level
- poziom logw generowanych przez skrypt,["ERROR", "WARNING", "INFO"]
(default:"ERROR"
). -
hostname
- nazwa hosta, wykorzystana do połączenia z telegrafem(influxdb), oraz libvirt. -
benchmarks
- lista słowników definiujących benchmarki:-
name
- nazwa benchmarku. Na jej podstawie wybierany jest plik{{ name }}.yml
docker-compose, oraz wypełniany tag workload w metrykach przesłanych do influxdb. -
cpus_required
- określa wymaganą liczbę wolnych CPU do uruchomienia testu (na podstawie danych z libvirt)
-