0x0i.phoronix

ansible logo

pts logo

Ansible 角色 :bar_chart: :boom: Phoronix

Galaxy 角色 最新 GitHub 发布 许可证: MIT

目录

Ansible 角色,用于安装和配置 Phoronix 测试套件(PTS):一个全面且可扩展的硬件和机器子系统测试和基准平台。

支持的平台:
* Redhat (CentOS/Fedora)
* Ubuntu

要求

需要在目标主机上安装 unzip/gtar 工具。有关详细信息,请参阅 ansible unarchive 模块的 说明

角色变量

变量按照以下软件和机器配置阶段进行组织:

  • 安装
  • 配置
  • 启动
  • 卸载

安装

以下变量可自定义以控制安装过程的各个方面,涵盖软件包版本或下载和安装的归档文件,以及目标主机的系统信息和能力集合:

install_type: <package | archive>默认: archive)

  • package:支持 Debian 和 Redhat 发行版,PTS 的软件包安装会从相应的软件包管理库中提取指定软件包。

package_name: <package-name-and-version>默认: phoronix-test-suite[-latest])

  • 下载和安装的 phoronix-test-suite 软件包的名称和版本。参考 或者在终端运行 dnf --showduplicates list phoronix-test-suite 来显示平台的可用软件包列表。

    • 请注意,安装目录由软件包管理系统确定,当前在所有发行版中默认位于 /usr/bin 目录下。
  • archive:兼容 tar 和 zip 格式,归档安装二进制文件可以从本地和远程压缩归档中获取,文件来源可以是官方的 发布索引 或者开发/自定义来源生成的文件。

install_dir: </path/to/installation/dir>默认: /opt/phoronix

  • 在目标主机上,PTS 二进制文件应解压到的路径。仅当 install_type 设置为 archive 时相关

archive_url: <path-or-url-to-archive>默认: 参见 defaults/main.yml

  • 包含 ansible 二进制文件的压缩 tar 或 zip 归档的地址。该方法技术上支持安装任何可用版本的 phoronix-test-suite。官方版本的链接可以在 这里 找到。仅当 install_type 设置为 archive 时相关

inspect_system: <true | false>默认: true

  • 加载 PTS 收集的目标主机系统信息。信息包括:
    • 一般系统细节和诊断信息
    • 附加传感器能力
    • 网络配置

配置

...配置相关变量的描述...

启动

autopilot 模式下 ,可以使用 systemd 服务管理工具执行 PTS 测试套件和单个或多个测试的运行。作为后台进程或守护进程启动,应用基础的 systemd Service 管理框架提供的配置和执行能力,每个测试运行可以在特定运行要求和/或操作员规格下执行,并且可以根据定义的顺序并行或顺序运行。

可以调整以下变量来管理这些执行策略。

default_run_asynchronous: <true | false>默认: false

  • 是否在特定主机上 默认 以异步方式并行运行配置的测试,还是按顺序执行,等待每个测试完成后再开始下一个。否则,遵循运行偏好。

default_autopilot: <true | false>默认: false

  • 是否 默认 从安装到结果报告自动执行测试/基准运行,使用提供的操作员配置。否则,遵循运行偏好。

[user_configs: <config-entry>: test_runs: <test-entry>:] unit_properties: <hash>默认: {}

  • 用于自定义 test run systemd 服务的 [Service] 单元配置和执行环境的设置哈希。
示例
 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

作者信息

该角色由 O1.IO 于 2019 年创建。

关于项目

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

安装
ansible-galaxy install 0x0i.phoronix
许可证
Unknown
下载
80
拥有者