diff --git a/README.md b/README.md index 8c4de29d74eb924ff4b94aecee4d2d440248b7b8..9e8c1688e731cc318adcd79d05010aac65d484d3 100644 --- a/README.md +++ b/README.md @@ -1,162 +1,151 @@ -# oec-hardware - -## 工具介绍 - -oec-hardware工具是openEuler社区提供的一款硬件兼容性测试工具,oec-hardware提供服务器整机、板卡与openEuler的兼容性验证测试,验证仅限于基本功能验证,不包括性能测试等其它测试。 - -硬件厂商在需要验证硬件产品与openEuler的兼容性时,可以使用oec-hardware。社区提供硬件兼容性测试流程,硬件厂商可以参考 [社区兼容性适配流程](https://www.openeuler.org/zh/compatibility/hardware/) 进行和openEuler的适配。 - -通过oec-hardware工具测试的硬件产品,openEuler会在社区官网发布 [兼容性清单](https://www.openeuler.org/zh/compatibility/) ,硬件厂商会在厂商官网发布对应的兼容性信息。 - -## 安装介绍 - -本工具支持在 openEuler 20.03 (LTS) 或更高版本上运行,详细支持版本请查看 [操作系统支持版本信息](https://gitee.com/openeuler/oec-hardware/blob/master/scripts/kernelrelease.json) 文件。 - -### 客户端 - -1. 配置 [openEuler 官方 repo](https://repo.openeuler.org/) 中对应版本的 everything 和 update 源,使用 `dnf` 安装客户端 oec-hardware。 - - ``` - dnf install oec-hardware - ``` - -2. 输入 `oech` 命令,可正常运行,则表示安装成功。 - -### 服务端 - -1. 配置 [openEuler 官方 repo](https://repo.openeuler.org/) 中对应版本的 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`,填写`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): - ``` - -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 (|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卡、一张网卡,并提供对应的信息。 +# oec-hardware + +## 背景介绍 +oec-hardware工具是openEuler社区提供的一款硬件兼容性测试工具,oec-hardware提供服务器整机、板卡与openEuler的兼容性验证测试,验证仅限于基本功能验证,不包括性能测试等其它测试。 + +硬件厂商在需要验证硬件产品与openEuler的兼容性时,可以使用oec-hardware。社区提供硬件兼容性测试流程,硬件厂商可以参考 [社区兼容性适配流程](https://www.openeuler.org/zh/compatibility/hardware/) 进行和openEuler的适配。 + +通过oec-hardware工具测试的硬件产品,openEuler会在社区官网发布 [兼容性清单](https://www.openeuler.org/zh/compatibility/) ,硬件厂商会在厂商官网发布对应的兼容性信息。 + +## 安装测试框架 + +### 前提条件 + +本工具支持在 openEuler 20.03 (LTS) 或更高版本上运行,详细支持操作系统版本信息请查看 oec-hardware/scripts/kernelrelease.json 文件。 + +### 获取安装包 + +配置 [openEuler 官方 repo](https://repo.openeuler.org/) 中对应版本的 everything 和 update repo源,使用 `dnf` 获取软件包进行安装。 + +### 安装过程 + +#### 客户端 + +1. 使用 `dnf` 安装客户端 oec-hardware。 + + ``` + dnf install oec-hardware + ``` + +2. 输入 `oech` 命令,可正常运行,则表示安装成功。 + +#### 服务端 + +1. 使用 `dnf` 安装服务端 oec-hardware-server。 + + ``` + dnf install oec-hardware-server + ``` + +2. 启动服务。本服务通过搭配 nginx 服务提供 web 服务,默认使用 80 端口,可以通过 nginx 服务配置文件修改对外端口,启动前请保证这些端口未被占用。 + + ``` + systemctl start oech-server.service + systemctl start nginx.service + ``` + +3. 关闭防火墙和 SElinux。 + + ``` + systemctl stop firewalld + iptables -F + setenforce 0 + ``` + +## 使用说明 + +1. 在客户端启动测试框架。在客户端启动 `oech`,填写`ID`、`URL`、`Server`配置项,`ID` 建议填写 gitee 上的 issue ID(注意:`ID`中不能带特殊字符);`URL`建议填写产品链接;`Server` 必须填写为客户端可以直接访问的服务器域名或 ip,用于展示测试报告和作网络测试的服务端。服务端`nginx`默认端口号是`80`,如果服务端安装完成后没有修改该端口,`Compatibility Test Server` 的值只需要输入服务端的业务IP地址;否则需要带上端口号,比如:`172.167.145.2:90`。 + + ``` + # 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 driverName driverVersion chipModel boardModel + 1 yes NotRun acpi + 2 yes NotRun clock + 3 yes NotRun cpufreq + 4 yes NotRun disk + 5 yes NotRun ethernet enp3s0 hinic 2.3.2.17 Hi1822 SP580 + 6 yes NotRun ethernet enp4s0 hinic 2.3.2.17 Hi1822 SP580 + 7 yes NotRun ethernet enp125s0f0 hns3 HNS GE/10GE/25GE TM210/TM280 + 8 yes NotRun ethernet enp125s0f1 hns3 HNS GE/10GE/25GE TM210/TM280 + 9 yes NotRun ipmi + 10 yes NotRun kabi + 11 yes NotRun kdump + 12 yes NotRun memory + 13 yes NotRun perf + 14 yes NotRun system + 15 yes NotRun usb + 16 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 driverName driverVersion chipModel boardModel + 1 no NotRun acpi + 2 no NotRun clock + 3 no NotRun cpufreq + 4 no NotRun disk + 5 yes NotRun ethernet enp3s0 hinic 2.3.2.17 Hi1822 SP580 + 6 no NotRun ethernet enp4s0 hinic 2.3.2.17 Hi1822 SP580 + 7 no NotRun ethernet enp125s0f0 hns3 HNS GE/10GE/25GE TM210/TM280 + 8 no NotRun ethernet enp125s0f1 hns3 HNS GE/10GE/25GE TM210/TM280 + 9 no NotRun ipmi + 10 no NotRun kabi + 11 no NotRun kdump + 12 no NotRun memory + 13 no NotRun perf + 14 yes NotRun system + 15 no NotRun usb + 16 no NotRun watchdog + Selection (|all|none|quit|run): + ``` + +4. 开始测试。选择完成后输入 `run` 开始测试。 + +5. 上传测试结果。测试完成后可以上传测试结果到服务器,便于结果展示和日志分析。如果上传失败,请检查网络配置,然后重新上传测试结果。 + + ``` + ... + ------------- Summary ------------- + ethernet-enp3s0 PASS + system FAIL + 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**,可以直接点击结果来查看执行日志,根据报错对照用例代码进行排查。 + diff --git a/oec-hardware-1.1.2-add-new-function-add-fixbug.patch b/oec-hardware-1.1.2-add-new-function-add-fixbug.patch new file mode 100644 index 0000000000000000000000000000000000000000..741b3b319f5e978934f963354dbdc6a3fac146ca Binary files /dev/null and b/oec-hardware-1.1.2-add-new-function-add-fixbug.patch differ diff --git a/oec-hardware.spec b/oec-hardware.spec index 5950ef3681cbe15d0e58dcdc4babfe83dff79b5c..1b3b8785d778da0c7364d041ce4a720e7f15da5e 100644 --- a/oec-hardware.spec +++ b/oec-hardware.spec @@ -4,7 +4,7 @@ Name: oec-hardware Summary: openEuler Hardware Compatibility Test Suite Version: 1.1.2 -Release: 3 +Release: 4 Group: Development/Tools License: Mulan PSL v2 URL: https://gitee.com/openeuler/oec-hardware @@ -14,6 +14,7 @@ Source0: https://gitee.com/openeuler/oec-hardware/repository/archive/v%{v Patch0001: oec-hardware-1.1.2-fix-oech.service_status_failed.patch Patch0002: oec-hardware-1.1.2-fix-system.patch Patch0003: oec-hardware-1.1.2-add-compatibility.patch +Patch0004: oec-hardware-1.1.2-add-new-function-add-fixbug.patch Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: gcc @@ -26,7 +27,8 @@ Provides: libswsds.so()(64bit) %package server Summary: openEuler Hardware Compatibility Test Server Group: Development/Tools -Requires: python3, python3-devel, nginx, tar, qperf, psmisc +Requires: python3, python3-devel, python3-flask, python3-uWSGI +Requires: nginx, tar, qperf, psmisc %description openEuler Hardware Compatibility Test Suite @@ -39,6 +41,7 @@ openEuler Hardware Compatibility Test Server %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build @@ -81,6 +84,16 @@ DESTDIR=$RPM_BUILD_ROOT make install rm -rf /var/lock/oech.lock %changelog +* Wed Sep 21 2022 cuixucui - 1.1.2-4 +- Add requirements for system and bugfix +- Upgrade oec-hardware-server +- Update readme and design doc +- Fix nvme error +- Update network fibre check and log +- Update description for perf test +- Add automatic configuration network card IP + + * Tue Sep 06 2022 meitingli - 1.1.2-3 - Add generate compatibility information - Fix gpu and keycard issues