oec-hardware/README.md

163 lines
6.4 KiB
Markdown
Raw Normal View History

2020-05-08 16:58:30 +08:00
# oec-hardware
2022-05-31 22:15:15 +08:00
## 工具介绍
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
oec-hardware工具是openEuler社区提供的一款硬件兼容性测试工具oec-hardware提供服务器整机、板卡与openEuler的兼容性验证测试验证仅限于基本功能验证不包括性能测试等其它测试。
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
硬件厂商在需要验证硬件产品与openEuler的兼容性时可以使用oec-hardware。社区提供硬件兼容性测试流程硬件厂商可以参考 [社区兼容性适配流程](https://www.openeuler.org/zh/compatibility/hardware/) 进行和openEuler的适配。
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
通过oec-hardware工具测试的硬件产品openEuler会在社区官网发布 [兼容性清单](https://www.openeuler.org/zh/compatibility/) ,硬件厂商会在厂商官网发布对应的兼容性信息。
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
## 安装介绍
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
本工具支持在 openEuler 20.03 (LTS) 或更高版本上运行,详细支持版本请查看 [操作系统支持版本信息](https://gitee.com/openeuler/oec-hardware/blob/master/scripts/kernelrelease.json) 文件。
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
### 客户端
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
1. 配置 [openEuler 官方 repo](https://repo.openeuler.org/) 中对应版本的 everything 和 update 源,使用 `dnf` 安装客户端 oec-hardware。
2020-06-29 16:40:00 +08:00
```
2022-05-31 22:15:15 +08:00
dnf install oec-hardware
2020-06-29 16:40:00 +08:00
```
2022-05-31 22:15:15 +08:00
2. 输入 `oech` 命令,可正常运行,则表示安装成功。
2020-06-29 16:40:00 +08:00
2022-05-31 22:15:15 +08:00
### 服务端
2020-06-29 16:40:00 +08:00
2022-05-31 22:15:15 +08:00
1. 配置 [openEuler 官方 repo](https://repo.openeuler.org/) 中对应版本的 everything 和 update 源,使用 `dnf` 安装服务端 oec-hardware-server。
2020-06-29 16:40:00 +08:00
```
2022-05-31 22:15:15 +08:00
dnf install oec-hardware-server
2020-06-29 16:40:00 +08:00
```
2020-06-30 09:30:07 +08:00
2. 服务端 web 展示页面需要的部分组件系统本身不提供,需要使用 `pip3` 安装(请自行配置可用 pip 源)。
2020-06-29 16:40:00 +08:00
```
pip3 install Flask Flask-bootstrap uwsgi
```
3. 启动服务。本服务默认使用 8080 端口,同时搭配 nginx默认端口 80提供 web 服务,请保证这些端口未被占用。
```
systemctl start oech-server.service
systemctl start nginx.service
```
4. 关闭防火墙和 SElinux。
```
systemctl stop firewalld
iptables -F
setenforce 0
```
2022-05-31 22:15:15 +08:00
# 使用指导
2020-06-29 16:40:00 +08:00
2022-05-31 22:15:15 +08:00
## 前提条件
* `/usr/share/oech/kernelrelease.json` 文件中列出了当前支持的所有系统版本,使用`uname -a` 命令确认当前系统内核版本是否属于框架支持的版本。
* 框架默认会扫描所有网卡,对网卡进行测试前,请自行筛选被测网卡,并给它配上能 `ping` 通服务端的 ip如果客户端是对 InfiniBand 网卡进行测试,服务端也必须有一个 InfiniBand 网卡并提前配好 ip 。建议不要使用业务网口进行网卡测试。
## 使用步骤
1. 在客户端启动测试框架。在客户端启动 `oech`,填写`ID``URL``Server`配置项,`ID` 建议填写 gitee 上的 issue ID注意`ID`中不能带特殊字符);`URL`建议填写产品链接;`Server` 必须填写为客户端可以直接访问的服务器域名或 ip用于展示测试报告和作网络测试的服务端。
2020-06-29 16:40:00 +08:00
```
# oech
The openEuler Hardware Compatibility Test Suite
Please provide your Compatibility Test ID:
Please provide your Product URL:
Please provide the Compatibility Test Server (Hostname or Ipaddr):
```
2. 进入测试套选择界面。在用例选择界面,框架将自动扫描硬件并选取当前环境可供测试的测试套,输入 `edit` 可以进入测试套选择界面。
```
These tests are recommended to complete the compatibility test:
No. Run-Now? Status Class Device
1 yes NotRun acpi
2 yes NotRun clock
3 yes NotRun cpufreq
4 yes NotRun disk
5 yes NotRun ethernet enp3s0
6 yes NotRun ethernet enp4s0
7 yes NotRun ethernet enp5s0
8 yes NotRun kdump
9 yes NotRun memory
10 yes NotRun perf
11 yes NotRun system
12 yes NotRun usb
13 yes NotRun watchdog
Ready to begin testing? (run|edit|quit)
```
2022-05-31 22:15:15 +08:00
3. 选择测试套。`all|none` 分别用于 `全选|全取消`(必测项 `system` 不可取消,多次执行成功后 `system` 的状态会变为`Force`);数字编号可选择测试套,每次只能选择一个数字,按回车符之后 `no` 变为 `yes`,表示已选择该测试套。
2020-06-29 16:40:00 +08:00
```
Select tests to run:
No. Run-Now? Status Class Device
1 no NotRun acpi
2 no NotRun clock
3 no NotRun cpufreq
4 no NotRun disk
5 yes NotRun ethernet enp3s0
6 no NotRun ethernet enp4s0
7 no NotRun ethernet enp5s0
8 no NotRun kdump
9 no NotRun memory
10 no NotRun perf
11 yes NotRun system
12 no NotRun usb
13 no NotRun watchdog
Selection (<number>|all|none|quit|run):
```
4. 开始测试。选择完成后输入 `run` 开始测试。
5. 上传测试结果。测试完成后可以上传测试结果到服务器,便于结果展示和日志分析。如果上传失败,请检查网络配置,然后重新上传测试结果。
```
...
------------- Summary -------------
ethernet-enp3s0 PASS
2022-05-31 22:15:15 +08:00
system PASS
2020-06-29 16:40:00 +08:00
Log saved to /usr/share/oech/logs/oech-20200228210118-TnvUJxFb50.tar succ.
Do you want to submit last result? (y|n) y
Uploading...
Successfully uploaded result to server X.X.X.X.
```
2022-05-31 22:15:15 +08:00
# 结果获取
## 查看结果
2020-06-29 16:40:00 +08:00
1. 浏览器打开服务端 IP 地址,点击导航栏 `Results` 界面,找到对应的测试 id 进入。
2. 进入单个任务页可以看到具体的测试结果展示,包括环境信息和执行结果等。
- `Submit` 表示将结果上传到欧拉官方认证服务器(**当前尚未开放**)。
- `Devices` 查看所有测试设备信息。
- `Runtime` 查看测试运行日志。
2022-05-31 22:15:15 +08:00
- `Attachment` 下载测试附件。
2020-06-29 16:40:00 +08:00
2022-05-31 22:15:15 +08:00
## 结果说明
2020-06-29 16:40:00 +08:00
**Result** 列展示测试结果,结果有两种:**PASS** 或者 **FAIL**。如果结果为**FAIL**,可以直接点击结果来查看执行日志,根据报错对照用例代码进行排查。
2020-05-08 16:58:30 +08:00
2022-05-31 22:15:15 +08:00
## 测试结果审核
如果测试的硬件、整机需要发布到openEuler的兼容性清单请将以下测试结果全部上传至相关的适配issue下
- oech测试日志
- oech生成的html测试报告
- 兼容性清单文件请参考templates目录下的模板)
整机适配需要测试至少一张RAID卡、一张网卡并提供对应的信息。