0x0i.phoronix
Ansible 角色 :bar_chart: :boom: Phoronix
目录
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 年创建。