从源码到部署:oec-hardware开发者实践指南

📅 2026/7/1 20:14:28
从源码到部署:oec-hardware开发者实践指南
从源码到部署oec-hardware开发者实践指南【免费下载链接】oec-hardwareUse for check hardware compatibility with openEuler项目地址: https://gitcode.com/openeuler/oec-hardware前往项目官网免费下载https://ar.openeuler.org/ar/oec-hardware是openEuler社区推出的硬件兼容性测试工具用于验证服务器整机、板卡与openEuler操作系统的兼容性。本文将带你从源码获取到实际部署全面掌握这一工具的开发与使用流程。一、项目概述与环境准备1.1 核心功能与架构oec-hardware工具采用客户端-服务端架构主要实现以下功能硬件自动扫描与识别多类型硬件兼容性测试CPU、内存、磁盘、网卡等测试结果收集与报告生成Web界面展示与管理项目目录结构清晰主要分为以下模块. ├── hwcompatible # 框架主功能 ├── scripts # 工具脚本 ├── server # 服务端 ├── config # 配置文件 ├── tests # 测试套 └── vendor_tests # 厂商测试工具存放目录oec-hardware测试流程图展示了从硬件扫描到测试报告生成的完整流程1.2 开发环境依赖开发oec-hardware需要以下依赖组件客户端依赖python3及以上版本python3-pyyaml读取yaml配置文件kernel-devel与系统kernel版本保持一致dmidecode获取服务器硬件信息服务端依赖python3-flaskWeb框架python3-uWSGIWSGI协议服务器nginxWeb服务器qperf网络性能测试工具可通过dnf/yum安装大部分依赖dnf install python3 python3-pyyaml kernel-devel dmidecode nginx python3-flask二、源码获取与构建2.1 获取源码通过以下命令克隆项目源码git clone https://gitcode.com/openeuler/oec-hardware cd oec-hardware2.2 项目构建项目使用Makefile进行构建主要构建步骤如下查看Makefile内容了解构建选项执行构建命令生成可执行文件和配置文件# 查看Makefile帮助 make help # 执行默认构建 make # 安装到系统 make install三、配置文件详解oec-hardware的配置文件位于config/目录下主要包括3.1 版本配置文件config/version.config管理工具版本信息3.2 测试项配置文件config/test_config.yaml配置各硬件测试项的详细参数如# 网卡测试项配置 ethernet: eth1: device: enp125s0f0 if_rdma: N server_ip: 2.2.2.4 eth2: device: enp125s0f1 client_ip: 2.2.2.3 server_ip: 2.2.2.4:80903.3 硬件信息文件config/pci.ids补充系统硬件信息用于硬件识别四、核心模块开发指南4.1 测试用例开发测试用例位于tests/目录下每个测试项对应一个子目录。以磁盘测试为例tests/compatible/disk/ ├── Makefile ├── common.py └── disk.py开发新的测试用例需遵循以下步骤创建测试目录和文件实现Test类继承自基础测试类实现run方法编写测试逻辑配置测试参数和依赖4.2 客户端命令开发客户端命令入口在scripts/oech主要功能在hwcompatible/command_ui.py中实现。添加新命令需在command_ui.py中添加命令处理函数注册命令到命令列表实现命令逻辑4.3 服务端接口开发服务端代码位于server/server.py使用Flask框架实现RESTful接口。添加新接口需在server.py中添加路由和处理函数实现接口逻辑更新前端模板位于server/templates/五、部署与运行5.1 客户端部署# 安装客户端 make install-client # 启动客户端服务 systemctl start oech.service # 查看服务状态 systemctl status oech.service启动工具后输入oech进入交互界面# oech Please select test category. No. category 1 compatible 2 virtualization Please select test category No:15.2 服务端部署# 安装服务端 make install-server # 启动服务端服务 systemctl start oech-server.service systemctl start nginx.service # 关闭防火墙和SELinux systemctl stop firewalld setenforce 0服务端启动后可通过浏览器访问测试结果http://服务器IP/resultsoec-hardware测试结果展示界面六、测试执行与结果分析6.1 执行测试在客户端交互界面选择测试项并执行Selection (number|all|none|quit|run): all Ready to begin testing? (run|edit|quit) run6.2 查看测试结果测试结果存储在服务端的server/results/目录下可通过Web界面查看详细报告包括硬件信息汇总各测试项执行状态详细测试日志性能指标数据6.3 常见测试项示例网络测试网络测试结果展示包含吞吐量、延迟等关键指标内存测试内存测试结果展示包含容量、带宽、错误检测等信息七、日志与问题排查7.1 日志位置客户端操作日志/var/oech/oech.log客户端业务日志/usr/share/oech/logs/服务端日志/var/log/nginx/access.log7.2 日志转储操作日志按大小自动转储默认30M/个保留30个业务日志每天自动压缩转储保留30天7.3 常见问题排查硬件识别失败检查config/pci.ids是否最新测试项执行失败查看对应测试日志检查依赖是否安装服务端无法访问检查防火墙设置和服务状态八、扩展与贡献8.1 添加新硬件支持要添加对新硬件的支持更新config/pci.ids添加硬件ID和信息开发对应的测试用例配置测试参数8.2 贡献代码oec-hardware是开源项目欢迎开发者贡献代码Fork项目仓库创建特性分支提交代码并创建Pull Request参与代码评审九、总结oec-hardware作为openEuler生态中的重要工具为硬件兼容性验证提供了全面解决方案。通过本文的指南你可以快速掌握从源码到部署的全过程无论是进行二次开发还是日常使用都能得心应手。深入了解更多细节请参考项目文档开发设计文档docs/design_docs/dev_design.md测试指南docs/test_guide_doc/oech_test_guide.md【免费下载链接】oec-hardwareUse for check hardware compatibility with openEuler项目地址: https://gitcode.com/openeuler/oec-hardware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考