oec-hardware/README.md
meitingli cf001e9e51 Upgrade version
(cherry picked from commit 442be68d0b4e0d5f2af6bc26b24dd6a8895c7ad8)
2022-06-28 21:36:47 +08:00

6.4 KiB
Raw Blame History

oec-hardware

工具介绍

oec-hardware工具是openEuler社区提供的一款硬件兼容性测试工具oec-hardware提供服务器整机、板卡与openEuler的兼容性验证测试验证仅限于基本功能验证不包括性能测试等其它测试。

硬件厂商在需要验证硬件产品与openEuler的兼容性时可以使用oec-hardware。社区提供硬件兼容性测试流程硬件厂商可以参考 社区兼容性适配流程 进行和openEuler的适配。

通过oec-hardware工具测试的硬件产品openEuler会在社区官网发布 兼容性清单 ,硬件厂商会在厂商官网发布对应的兼容性信息。

安装介绍

本工具支持在 openEuler 20.03 (LTS) 或更高版本上运行,详细支持版本请查看 操作系统支持版本信息 文件。

客户端

  1. 配置 openEuler 官方 repo 中对应版本的 everything 和 update 源,使用 dnf 安装客户端 oec-hardware。

    dnf install oec-hardware
    
  2. 输入 oech 命令,可正常运行,则表示安装成功。

服务端

  1. 配置 openEuler 官方 repo 中对应版本的 everything 和 update 源,使用 dnf 安装服务端 oec-hardware-server。

    dnf install oec-hardware-server
    
  2. 服务端 web 展示页面需要的部分组件系统本身不提供,需要使用 pip3 安装(请自行配置可用 pip 源)。

    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
    

使用指导

前提条件

  • /usr/share/oech/kernelrelease.json 文件中列出了当前支持的所有系统版本,使用uname -a 命令确认当前系统内核版本是否属于框架支持的版本。

  • 框架默认会扫描所有网卡,对网卡进行测试前,请自行筛选被测网卡,并给它配上能 ping 通服务端的 ip如果客户端是对 InfiniBand 网卡进行测试,服务端也必须有一个 InfiniBand 网卡并提前配好 ip 。建议不要使用业务网口进行网卡测试。

使用步骤

  1. 在客户端启动测试框架。在客户端启动 oech,填写IDURLServer配置项,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):
    
  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)
    
  3. 选择测试套。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):
    
  4. 开始测试。选择完成后输入 run 开始测试。

  5. 上传测试结果。测试完成后可以上传测试结果到服务器,便于结果展示和日志分析。如果上传失败,请检查网络配置,然后重新上传测试结果。

    ...
    -------------  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.
    

结果获取

查看结果

  1. 浏览器打开服务端 IP 地址,点击导航栏 Results 界面,找到对应的测试 id 进入。

  2. 进入单个任务页可以看到具体的测试结果展示,包括环境信息和执行结果等。

    • Submit 表示将结果上传到欧拉官方认证服务器(当前尚未开放)。

    • Devices 查看所有测试设备信息。

    • Runtime 查看测试运行日志。

    • Attachment 下载测试附件。

结果说明

Result 列展示测试结果,结果有两种:PASS 或者 FAIL。如果结果为FAIL,可以直接点击结果来查看执行日志,根据报错对照用例代码进行排查。

测试结果审核

如果测试的硬件、整机需要发布到openEuler的兼容性清单请将以下测试结果全部上传至相关的适配issue下

  • oech测试日志

  • oech生成的html测试报告

  • 兼容性清单文件请参考templates目录下的模板)

    整机适配需要测试至少一张RAID卡、一张网卡并提供对应的信息。