phoronix

логотип ansible

логотип pts

Роль Ansible :bar_chart: :boom: Phoronix

Galaxy Role GitHub release (latest by date) License: MIT

Содержание

Роль 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
Лицензия
Unknown
Загрузки
71
Владелец