6.4 KiB
oec-hardware
工具介绍
oec-hardware工具是openEuler社区提供的一款硬件兼容性测试工具,oec-hardware提供服务器整机、板卡与openEuler的兼容性验证测试,验证仅限于基本功能验证,不包括性能测试等其它测试。
硬件厂商在需要验证硬件产品与openEuler的兼容性时,可以使用oec-hardware。社区提供硬件兼容性测试流程,硬件厂商可以参考 社区兼容性适配流程 进行和openEuler的适配。
通过oec-hardware工具测试的硬件产品,openEuler会在社区官网发布 兼容性清单 ,硬件厂商会在厂商官网发布对应的兼容性信息。
安装介绍
本工具支持在 openEuler 20.03 (LTS) 或更高版本上运行,详细支持版本请查看 操作系统支持版本信息 文件。
客户端
-
配置 openEuler 官方 repo 中对应版本的 everything 和 update 源,使用
dnf安装客户端 oec-hardware。dnf install oec-hardware -
输入
oech命令,可正常运行,则表示安装成功。
服务端
-
配置 openEuler 官方 repo 中对应版本的 everything 和 update 源,使用
dnf安装服务端 oec-hardware-server。dnf install oec-hardware-server -
服务端 web 展示页面需要的部分组件系统本身不提供,需要使用
pip3安装(请自行配置可用 pip 源)。pip3 install Flask Flask-bootstrap uwsgi -
启动服务。本服务默认使用 8080 端口,同时搭配 nginx(默认端口 80)提供 web 服务,请保证这些端口未被占用。
systemctl start oech-server.service systemctl start nginx.service -
关闭防火墙和 SElinux。
systemctl stop firewalld iptables -F setenforce 0
使用指导
前提条件
-
/usr/share/oech/kernelrelease.json文件中列出了当前支持的所有系统版本,使用uname -a命令确认当前系统内核版本是否属于框架支持的版本。 -
框架默认会扫描所有网卡,对网卡进行测试前,请自行筛选被测网卡,并给它配上能
ping通服务端的 ip;如果客户端是对 InfiniBand 网卡进行测试,服务端也必须有一个 InfiniBand 网卡并提前配好 ip 。建议不要使用业务网口进行网卡测试。
使用步骤
-
在客户端启动测试框架。在客户端启动
oech,填写ID、URL、Server配置项,ID建议填写 gitee 上的 issue ID(注意:ID中不能带特殊字符);URL建议填写产品链接;Server必须填写为客户端可以直接访问的服务器域名或 ip,用于展示测试报告和作网络测试的服务端。# 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): -
进入测试套选择界面。在用例选择界面,框架将自动扫描硬件并选取当前环境可供测试的测试套,输入
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) -
选择测试套。
all|none分别用于全选|全取消(必测项system不可取消,多次执行成功后system的状态会变为Force);数字编号可选择测试套,每次只能选择一个数字,按回车符之后no变为yes,表示已选择该测试套。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): -
开始测试。选择完成后输入
run开始测试。 -
上传测试结果。测试完成后可以上传测试结果到服务器,便于结果展示和日志分析。如果上传失败,请检查网络配置,然后重新上传测试结果。
... ------------- Summary ------------- ethernet-enp3s0 PASS system PASS 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.
结果获取
查看结果
-
浏览器打开服务端 IP 地址,点击导航栏
Results界面,找到对应的测试 id 进入。 -
进入单个任务页可以看到具体的测试结果展示,包括环境信息和执行结果等。
-
Submit表示将结果上传到欧拉官方认证服务器(当前尚未开放)。 -
Devices查看所有测试设备信息。 -
Runtime查看测试运行日志。 -
Attachment下载测试附件。
-
结果说明
在 Result 列展示测试结果,结果有两种:PASS 或者 FAIL。如果结果为FAIL,可以直接点击结果来查看执行日志,根据报错对照用例代码进行排查。
测试结果审核
如果测试的硬件、整机需要发布到openEuler的兼容性清单,请将以下测试结果全部上传至相关的适配issue下:
-
oech测试日志
-
oech生成的html测试报告
-
兼容性清单文件(请参考templates目录下的模板)
整机适配需要测试至少一张RAID卡、一张网卡,并提供对应的信息。