phoronix
Роль Ansible :bar_chart: :boom: Phoronix
Содержание
- Поддерживаемые платформы
- Требования
- Переменные роли
- Зависимости
- Пример плейбука
- Лицензия
- Информация об авторе
Роль Ansible, которая устанавливает и настраивает Phoronix Test Suite (PTS): это комплексная и расширяемая платформа для тестирования и бенчмаркинга различных аппаратных и машинных подсистем.
Поддерживаемые платформы:
* Redhat (CentOS/Fedora)
* Ubuntu
Требования
Необходим утилита unzip/gtar
, установленная на целевом хосте. См. примечания к модулю ansible unarchive
здесь для подробностей.
Переменные роли
Переменные доступны и организованы в соответствии со следующими этапами развертывания программного обеспечения и машин:
- установка
- настройка
- запуск
- удаление
Установка
Следующие переменные могут быть настроены для управления различными аспектами этого процесса установки, начиная от версии пакета и архива для загрузки и установки до сбора системной информации и возможностей целевых хостов:
install_type: <package | archive>
(по умолчанию: archive)
- package: поддерживается дистрибутивами Debian и Redhat, установка пакета PTS загружает указанный пакет из соответствующего репозитория управления пакетами.
package_name: <имя-пакета-и-версия>
(по умолчанию: phoronix-test-suite[-latest])
имя и версия пакета phoronix-test-suite для загрузки и установки. Ссылка или выполните команду
dnf --showduplicates list phoronix-test-suite
в терминале, чтобы отобразить список доступных пакетов для вашей платформы.- Обратите внимание, что директория установки определяется системой управления пакетами и в настоящее время по умолчанию устанавливается в
/usr/bin
для всех дистрибутивов.
- Обратите внимание, что директория установки определяется системой управления пакетами и в настоящее время по умолчанию устанавливается в
archive: совместимо с форматами tar и zip, архивированные установочные файлы можно получить как из локальных, так и из удалённых архивов, сжимая как официальные релизы, так и те, что генерируются из разработок/пользовательских источников.
install_dir: </путь/к/директории/установки>
(по умолчанию: /opt/phoronix
)
- путь на целевом хосте, куда должны быть извлечены двоичные файлы
PTS
. Только актуально, когдаinstall_type
установлен на archive
archive_url: <путь-или-url-к-архиву>
(по умолчанию: см. defaults/main.yml
)
- адрес сжатого tar или zip архива, содержащего двоичные файлы
ansible
. Этот метод технически поддерживает установку любой доступной версииphoronix-test-suite
. Ссылки на официальные версии можно найти здесь. Только актуально, когдаinstall_type
установлен на archive
inspect_system: <true | false>
(по умолчанию: true)
- загружает собранную информацией PTS о системе целевого хоста. Информация состоит из:
- общие сведения о системе и диагностическая информация
- возможности подключённых сенсоров
- конфигурация сети
Настройка
...описание переменных, связанных с настройкой...
Запуск
При работе в режиме autopilot
ТОЛЬКО, выполнение тестовых наборов PTS и отдельных или групповых тестов осуществляется с использованием инструмента управления службами systemd. Запускается как фоновый процесс или демон, подлежащий конфигурации и возможностям выполнения, предоставляемым базовой системой управления службой systemd
, каждый запуск теста может выполняться в среде в соответствии с конкретными требованиями запуска и/или спецификациями оператора, а также работать параллельно или последовательно на основе определённого порядка.
Следующие переменные могут быть изменены для управления этими политиками выполнения.
default_run_asynchronous: <true | false>
(по умолчанию: false)
- запускать ли настроенные тесты асинхронно и параллельно на определённом хосте по умолчанию или выполнять их синхронно, ожидая завершения каждого теста перед началом следующего. В противном случае отложите по предпочтению запуска.
default_autopilot: <true | false>
(по умолчанию: false)
- автоматически выполнять запуск теста/бенчмарка, от установки до отчёта о результатах, используя предоставленные настройки оператора по умолчанию. В противном случае отложите по предпочтению запуска.
[user_configs: <config-entry>: test_runs: <test-entry>:] unit_properties: <hash>
(по умолчанию: {}
)
- хэш настроек, используемых для изменения параметров конфигурации и среды выполнения
тестового запуска
службы systemd.
Пример
user_configs:
- user: devops
config:
BatchMode:
SaveResults: true
test_runs:
- name: pts/compress-gzip
runtime_config:
test_results_name: test-compress-results
unit_properties:
# Автоматически перезапускать и продолжать выполнение теста при сбое - *заметьте*: повторное использование `test_results_name`, заданного выше
Restart: on-failure
ExecReload: phoronix-test-suite finish-run test-compress-results
# Запуск скрипта после исполнения для конвертации результатов тестов в json и сохранения в файл для загрузки
ExecStopPre: /usr/bin/test_post_exec.sh test-compress-results
ExecStopPost: "aws s3 cp /opt/phoronix/test-compress-results.results.json s3://benchmark_results/"
Удаление
Поддержка удаления и устранения артефактов, необходимых для развертывания, позволяет пользователям/операторам возвращать целевой хост в его заранее настроенное состояние, которое существовало до применения этой роли. Это может быть полезно для утилизации узлов и ролей и, возможно, для предоставления более элегантных/управляемых переходов между обновлениями инструментов.
Следующие переменные могут быть настроены для управления этим процессом удаления:
perform_uninstall: <true | false>
(по умолчанию: false
)
- следует ли удалять и устранять все артефакты и следы этой установки
phoronix-test-suite
на целевом хосте (см.:handlers/main.yml
для подробностей)
Зависимости
0x0i.systemd
Пример плейбука
простой пример:
- hosts: benchmark-nodes
roles:
- role: 0x0I.phoronix
Лицензия
MIT
Информация об авторе
Эта роль была создана в 2019 году компанией O1.IO.
phoronix-test-suite, a comprehensive testing and benchmarking platform
ansible-galaxy install 0x0I/ansible-role-phoronix