长期支持版本

    社区创新版本

      目 录

      1 概述

      1.1 目的

      1.2 适用范围

      1.3 定义

      2 openEuler技术测评场景说明

      2.1 技术测评

      2.1.1 场景说明

      2.1.2 软件和硬件测评流程说明

      2.1.2.1 整体流程

      2.1.2.2 流程节点说明

      2.2 操作系统测评流程说明

      2.2.1 场景说明

      2.2.2 整体流程

      2.2.3 流程节点说明

      3 测试标准和测试工具

      3.1 商用软件

      3.1.1 测试用例

      3.1.2 测试工具

      3.2 硬件

      3.2.1 测试用例

      3.2.2 测试工具

      3.3 操作系统

      3.3.1 测试用例

      3.3.2 测试工具

      4 平台操作指导

      4.1 用户注册

      4.2 企业认证

      4.3 测评申请

      4.4 测评审批

      4.4 证书签发

      5 附录

      5.1 修改商业软件测试安装和卸载命令

      概述

      1.1 目的

      1.2 适用范围

      1.3 定义

      目的

      openEuler技术测评,是openEuler社区面向产业伙伴提供的一项技术性服务,由openEuler社区针对伙伴产品进行集成、构建、测试和验证,以证明伙伴产品与openEuler操作系统间的技术关系,以及伙伴基于openEuler的产品构建能力,帮助伙伴为客户提供更好的解决方案。

      openEuler技术测评,是openEuler社区针对使用openEuler OS的生态伙伴解决方案的技术测评服务。本文描述了openEuler技术测评标准,本标准不仅仅适用于openEuler社区,也适用于获得欧拉社区授权,开展openEuler技术测评活动的测试机构(如欧拉生态创新中心等)。本文档旨在提供统一的测试标准、流程和测试工具,简化伙伴测试的复杂度。

      适用范围

      本文档描述范围是openEuler技术测评。适用但不限于如下组织:

      • openEuler社区授权的测试/测评机构,openEuler兼容性SIG组
      • 各地域openEuler创新中心、生态实验室

      定义

      术语释义
      openEuler技术测评openEuler社区针对使用openEuler OS的生态伙伴解决方案的技术测评服务。
      ISV独立软件开发商。
      IHV独立硬件厂商。
      OSV操作系统供应商。

      openEuler技术测评场景说明

      2.1 技术测评

      2.2 交叉测评

      技术测评

      场景说明

      openEuler是面向商业软件、硬件、操作系统发行版及开发openEuler Compatible技术测评项目,根据证书类型,分为通用证书及OS证书。

      证书类型证明效力测评场景
      openEuler技术测评 通用证书 (软件、硬件)伙伴产品兼容 openEuler社区发行版针对软件伙伴产品(除操作系统外),硬件伙伴的产品(整机或板卡),基于openEuler社区发行版在多样性算力平台上进行兼容性测评,满足openEuler技术测评标准后,可申请获取openEuler技术测评通用证书。
      openEuler技术测评OS证书伙伴发行版兼容 openEuler社区技术路线伙伴openEuler商业发行版及企业自用版操作系统,在多样性算力平台下,进行兼容性测试验证,满足openEuler系OS技术测评标准后,可申请openEuler技术测评OS证书。

      证书样式如下:

      通用证书首页
      OS证书首页
      证书背面

      软件和硬件测评流程说明

      整体流程

      说明:

      申请技术测评需先完成帐号注册、完善企业信息,签署CLA协议(步骤001-004)。如已完成上述步骤001-004,可直接提交技术测评申请(步骤005)。

      流程节点说明

      活动序号活动属性内容
      001活动名称帐号注册。
      001活动描述申请测评企业需先在技术测评平台:https://certification.openeuler.org,进行帐号注册,提交姓名、手机号/邮箱、验证密码,同意隐私声明和兼容性协议,验证完成后,完成帐号注册。
      001责任角色测评企业。
      001参与角色-
      002活动名称签署CLA协议。
      002活动描述完成帐号注册后登录测评平台,测评企业需完成CLA签署,才能进行后续操作,CLA签署攻略:https://www.openeuler.org/zh/community/contribution,测评企业请签署企业CLA或企业员工CLA。 注意:签署CLA无需测评企业贡献代码和技术测评的测试报告等信息至社区,默认仅贡献兼容性清单。如有特殊需求,可在技术测评申请流程中,选择不发布到兼容性清单。
      002责任角色测评企业。
      002参与角色-
      003活动名称完善企业信息。
      003活动描述完成CLA签署后,测评企业需完善企业信息,需提交企业LOGO、工商注册国家/地区、企业邮箱、营业执照等信息,用以确认当前申请人确实获得企业授权进行技术测评。
      003责任角色测评企业。
      003参与角色-
      004活动名称资质审核。
      004活动描述测评企业完善企业信息后,平台会自动对提交信息进行校验,确认邮箱、企业资质等无误后,完成企业资质审核。
      004责任角色openEuler社区。
      004参与角色-
      005活动名称申请测评。
      005活动描述申请测评企业产品类型,选择待测评的产品和解决方案,并填写产品相关信息,提交测评申请。测评申请平台:https://certification.openeuler.org
      005责任角色测评企业。
      005参与角色-
      006活动名称方案审核。
      006活动描述openEuler社区接收到测评申请后,需审核测评方案合理性:审核测评方案是否和已有测评重复、测评方案是否符合技术测评范畴、测评评方案必备信息的完整性和内容质量。
      006责任角色openEuler社区。
      006参与角色-
      007活动名称发放环境。
      007活动描述测评审核通过后,openEuler社区会引导测评企业按照测评标准进行测试,测评企业如无测试条件,可提交资源申请。 对于商业软件,openEuler社区或创新中心会发放服务器作为测试环境。对于整机&板卡,openEuler社区或创新中心可接收整机/板卡,协助测评企业测试。
      007责任角色openEuler社区/创新中心。
      007参与角色-
      008活动名称迁移适配。
      008活动描述测评企业依靠测评方案对测评产品完成openEuler适配 ,确保产品功能正常。
      008责任角色测评企业。
      008参与角色openEuler社区,创新中心。
      009活动名称测试执行。
      009活动描述测评企业依靠测评方案对测评产品完成技术测评用例测试,验证用例是否通过。
      009责任角色测评企业。
      009参与角色openEuler社区,创新中心。
      010活动名称测试结果收集提交。
      010活动描述完成测试并自检通过后,测评企业需收集测试日志,并提交到测评平台。
      010责任角色测评企业。
      010参与角色openEuler社区,创新中心。
      011活动名称生成测试报告。
      011活动描述测评平台接收到测评企业提交的测试日志后,根据规则分析日志并生成测试报告。
      011责任角色openEuler社区。
      011参与角色-
      012活动名称测试报告初审。
      012活动描述测试报告生成后,创新中心需根据测评方案和测评标准,对测试报告进行审核。如果测试用例均通过且满足测评标准,则通过复审。如果存在失败用例或不满足测评标准,则驳回到伙伴重新测试提交测试日志。
      012责任角色创新中心。
      012参与角色-
      013活动名称测试报告复审。
      013活动描述创新中心初审报告通过后,由openEuler社区进行报告的最终审核,确认满足测评标准后,完成测试报告复审。
      013责任角色openEuler社区。
      013参与角色-
      014活动名称证书初审。
      014活动描述基于测试报告审核意见给出测评证书签发意见,完成openEuler社区侧证书初审。
      014责任角色openEuler社区。
      014参与角色-
      015活动名称伙伴确认。
      015活动描述测评企业从测评平台预览测评证书,完成测评企业侧领导签发,将签名或扫描件上传到测评平台。
      015责任角色测评企业。
      015参与角色-
      016活动名称证书签发。
      016活动描述openEuler社区下载测评企业签发后的测评证书,需确认证书内容的一致性和正确性: 1、双方领导签名的正确性和大小规格一致性 ,2、测评企业软件名称、版本正确性, 3、测评企业公司名称正确性和一致性。
      016责任角色openEuler社区。
      016参与角色-
      017活动名称兼容清单刷新。
      017活动描述证书签发完成后,如果测评伙伴在测评流程选择发布兼容性清单,测评平台自动将兼容性信息发布到openEuler官网兼容性列表。
      017责任角色openEuler社区。
      017参与角色-

      操作系统测评流程说明

      整体流程

      说明:

      申请技术测评需先完成帐号注册、完善企业信息及签署CLA协议(步骤001-004)。如已完成上述步骤001-004,可直接提交技术测评申请(步骤005)。

      流程节点说明

      活动序号活动属性内容
      001活动名称帐号注册。
      001活动描述申请测评企业需先在技术测评平台:https://certification.openeuler.org,进行帐号注册,提交姓名、手机号/邮箱、验证密码,同意隐私声明和兼容性协议,验证完成后,完成帐号注册。
      001责任角色测评企业。
      001参与角色-
      002活动名称签署CLA协议。
      002活动描述完成帐号注册并登录测评平台后,测评企业需完成CLA签署,才能进行后续操作,CLA签署攻略:https://www.openeuler.org/zh/community/contribution,测评企业请签署企业CLA或企业员工CLA。 注意:签署CLA无需测评企业贡献代码和技术测评的测试报告等信息至社区,默认仅贡献兼容性清单。如有特殊需求,可在技术测评申请流程中,选择不发布到兼容性清单。
      002责任角色测评企业。
      002参与角色-
      003活动名称完善企业信息。
      003活动描述完成CLA签署后,测评企业需完善企业信息,提交企业LOGO、工商注册国家/地区、企业邮箱、营业执照等信息,用以确认当前申请人确实获得企业授权进行技术测评。
      003责任角色测评企业。
      003参与角色-
      004活动名称资质审核。
      004活动描述测评企业完善企业信息后,平台会自动对提交信息进行校验,确认邮箱、企业资质等无误后,完成企业资质审核。
      004责任角色openEuler社区。
      004参与角色-
      005活动名称申请测评。
      005活动描述申请测评企业产品类型,选择待测评的产品和解决方案,并填写产品相关信息,提交测评申请。测评申请平台:https://certification.openeuler.org
      005责任角色测评企业。
      005参与角色-
      006活动名称方案审核。
      006活动描述openEuler社区接收到测评申请后,需审核测评方案合理性: 审核测评方案是否和已有测评重复,测评方案是否符合技术测评范畴, 测评方案必备信息的完整性和内容质量。
      006责任角色openEuler社区。
      006参与角色-
      007活动名称提供ISO。
      007活动描述方案审核通过后,测评企业需提供待测评ISO的下载地址,用于后续测试。
      007责任角色测评企业。
      007参与角色-
      008活动名称ISO测试。
      008活动描述创新中心依靠测评方案对测评ISO完成技术测评用例测试,验证用例是否通过。
      008责任角色创新中心。
      008参与角色openEuler社区,测评企业。
      009活动名称生成测试报告。
      009活动描述测评平台收到测评企业提交的测试日志后,根据规则分析日志并生成测试报告。
      009责任角色openEuler社区
      009参与角色-
      010活动名称测试报告初审。
      010活动描述测试报告生成后,创新中心需根据测评方案和测评标准,对测试报告进行审核。如果测试用例均通过且满足测评标准,则通过复审。如果存在失败用例或不满足测评标准,则驳回到伙伴重新测试提交测试日志。
      010责任角色创新中心。
      010参与角色-
      011活动名称测试报告复审。
      011活动描述创新中心初审报告通过后,由openEuler社区进行报告的最终审核,确认满足测评标准后,完成测试报告复审。
      011责任角色openEuler社区。
      011参与角色-
      012活动名称证书初审。
      012活动描述基于测试报告审核意见给出测评证书签发意见,完成openEuler社区侧证书初审。
      012责任角色openEuler社区。
      012参与角色-
      013活动名称伙伴确认。
      013活动描述测评企业从测评平台预览测评证书,完成测评企业侧领导签发,将签名/扫描件上传到测评平台。
      013责任角色测评企业。
      013参与角色-
      014活动名称证书签发。
      014活动描述openEuler社区下载测评企业签发后的测评证书,需确认证书内容的一致性和正确性: 1、双方领导签名的正确性和大小规格一致性 ,2、测评企业软件名称、版本正确性, 3、测评企业公司名称正确性和一致性。
      014责任角色openEuler社区。
      014参与角色-
      015活动名称兼容清单刷新。
      015活动描述证书签发完成后,如果测评伙伴在测评流程选择发布兼容性清单,测评平台自动将兼容性信息发布到openEuler官网兼容性列表。
      015责任角色openEuler社区。
      015参与角色-

      测试标准和测试工具

      3.1 ISV

      3.2 IHV

      3.3 OSV

      商用软件

      测试标准

      经openEuler兼容性SIG组评定,针对商用软件技术测评的测试方案如下。

      测试维度检测项评定标准是否可选
      构建测试软件构建测试目标软件可以在指定架构、操作系统上构建成功。可选
      兼容性测试软件包安装测试目标软件可以在指定架构、操作系统上安装成功。必选
      兼容性测试软件包卸载测试目标软件可以在指定架构、操作系统上卸载成功。必选
      兼容性测试软件服务启动测试目标软件可以在指定架构、操作系统上启动成功。必选
      兼容性测试软件服务停止测试目标软件可以在指定架构、操作系统上停止成功。必选
      兼容性测试强制杀死进程测试目标软件可以在指定架构、操作系统上异常终止后可以启动成功。必选
      兼容性测试软件命令调用测试目标软件可以在指定架构、操作系统上运行基本的命令。必选
      兼容性测试软件依赖库查询目标软件可以在指定架构、操作系统上查询依赖库。必选
      兼容性测试软件依赖库差异识别目标软件可以在指定架构、操作系统上依赖库兼容。必选
      性能测试 (可选)CPU波动测试目标软件在稳定运行期间的系统资源CPU的波动正常。可选
      性能测试 (可选)内存波动测试目标软件在稳定运行期间的系统资源内存的波动正常。可选
      性能测试 (可选)磁盘波动测试目标软件在稳定运行期间的系统资源IO的波动正常。可选
      性能测试 (可选)网络波动测试目标软件在稳定运行期间的系统资源网络的波动正常。可选
      性能测试 (可选)压力长稳测试目标软件在压力测试下能够长时间稳定运行,且指标数据波动范围在预期范围内。可选
      安全测试端口安全测试目标软件在运行期间的监控端口是否与端口矩阵中的端口信息一致。必选
      安全测试病毒扫描测试目标软件无携带病毒文件。必选
      安全测试CVE漏洞扫描测试目标软件不存在已知的CVE漏洞。必选

      测试步骤

      工具简介

      为了解决欧拉技术测评过程中涉及的ISV商用软件兼容性测试问题,特基于《欧拉技术测评兼容性测试用例(ISV商用软件)》 集成了lkp-tests和x2openEuler测试工具。

      环境要求

      项目要求
      操作系统openEuler系操作系统。
      依赖软件请使用此命令安装依赖包:yum install -y wget git。

      注意

      • 请勿在生产环境安装和执行测试工具。
      • 工具安装过程需从外网下载代码和依赖包,请确保网络连接正常(如无法连接外网,需要将gem相关依赖完全离线并进行安装)。
      • 工具默认安装在当前目录,请确保目录剩余空间足够。

      工具安装

      Lkp-tests
      1. 安装依赖。

        yum install -y wget git rubygems
        
      2. 安装Lkp-tests。

        git clone https://gitee.com/wu_fengguang/lkp-tests
        
        cd lkp-tests
        
        sed -i "s/rubygems.org/gems.ruby-china.com/g" Gemfile
        
        gem sources --remove https://rubygems.org/
        
        gem sources -a https://gems.ruby-china.com/
        
        make install
        
      3. 写入环境变量。

        将lkp-tests所在路径增加到/etc/profile末尾,便于后续测试。

        vi /etc/profile
        
        
            export LKP_PATH="填写lkp-tests所在路径"。
        
        • vi 打开文件后,"shift"+"g"跳到文件末尾,然后按下"o" 编辑下一行。

        • 输入完成后,"esc"退出编辑,然后输入":wq"+"enter"保存并退出文件。

         source /etc/profile
        
      4. 下载测试套。

        git clone https://gitee.com/whatamaze/compatibility-test
        
        cd compatibility-test
        
        sh install.sh
        
      x2openEuler安装
      1. 安装依赖。

         yum install -y bzip2 bzip2-devel
        
      2. 安装x2openEuler。

        访问 https://repo.oepkgs.net/openEuler/rpm/openEuler-20.03-LTS-SP1/contrib/x2openEuler/ 获取x2openEuler软件包并上传至服务器。

        yum install x2openEuler-xxx.rpm
        
      3. 设置x2openEuler密码。

        passwd x2openEuler
        

        说明:

        用户登录的密码,建议满足如下复杂度要求:

        • 密码长度为8~32个字符。
        • 使用包含大写字母、小写字母、数字、特殊字符(~!@#$%^&*()-_=+|[{}];:'",<.>/?)中的两种及以上类型的组合。
        • 密码中不包含空格。
        • 密码中不使用用户名。

      测试执行

      Lkp-tests测试
      1. 安装通用依赖。

        export arch=\`arch\`
        
        gem install git -v 1.9.1
        
        lkp install
        

        注意:

        此处必须安装1.12以下版本的git,否则会导致接口传参出错。

      2. 安装兼容性测试依赖。

        lkp split-job $LKP_PATH/jobs/compatibility-test.yaml
        
        lkp install -f compatibility-test-defaults.yaml
        

        执行成功后会在执行命令目录中生成 compatibility-test-defaults.yaml 文件,用于后续任务调度,后续执行兼容性测试,也需切换到此目录。

      3. 执行兼容性测试。

        将待测软件包放至当前目录下,执行以下命令,最终测试结果在compatibilityLog文件中。

        lkp run ./compatibility-test-defaults.yaml -s 'package_name: xxxxxx' >compatibilityLog 2\>& 1
        

        说明:

        • package_name: 后必须有一个空格,否则导致报错无法进行测试。
        • 此处package_name后需填写软件包文件全名,例如nginx-1.14.2-1.oe1.aarch
        • 当前脚本适配rpm包,如无法直接使用rpm -ivh等rpm命令进行安装、卸载,请在脚本中修改安装卸载命令,详见附录商业软件测试安装和卸载命令
      x2openEuler测试
      1. 切换到x2openEuler用户。

        su - x2openEuler
        

        须知:

        使用前请务必切换用户为x2openEuler用户

      2. 执行扫描。

        x2openEuler scan [-batch] [-arch ARCH] [-os_name OS_NAME] [-target_os_name TARGET_OS_NAME] {filename \| directoryname}
        
        命令参数选项说明
        -batch-多应用场景,配合directoryname,扫描文件夹下多个软件包若无此参数,仅扫描单个软件包。
        -archARCH操作系统架构 可选参数。 可选x86_64或aarch64,默认为x86_64。 例如"-arch x86_64" 选择操作系统架构为x86_64。
        -os_nameOS_NAME源操作系统 可选参数,默认参数为centos7.6。例如"-os_name centos8.2" 选择源操作系统为CentOS 8.2。说明:当前源操作系统支持CentOS 6.8/CentOS 7.6/CentOS 8.2。
        - target_os_nameTARGET_OS_NAME目标操作系统 可选参数,默认参数为openEuler20.03-LTS-SP1。例如"-target_os_name openEuler20.03-LTS-SP1" 选择目标操作系统为openEuler20.03-LTS-SP1。
        -filename| directoryname需扫描的应用包或目录,例如"x2openEuler scan file_name_version.rpm" 选择扫描的应用包为file_name_version.rpm。说明:当前扫描支持rpm/tar/zip/gzip/jar/py/pyc/sh/bin文件。

        此处以评估CUnit-2.1.3-21.oel.aarch64.rpm_应用包并输出软件评估报告为例,请根据实际情况选择所需参数并替换为需要扫描的软件包或软件包目录。

        x2openEuler scan -arch x86_64 CUnit-2.1.3-21.oel.x86_64.rpm
        

      3. 结果查看。

        报告为html格式,建议下载报告并在浏览器查看。

      硬件

      测试标准

      整机测试标准

      经openEuler兼容性SIG组评定,硬件技术测评分为整机和板卡,整机测试方案如下。

      测试维度检测项评定标准是否可选
      ACPI测试ACPI测试提取ACPI表,查看电源配置是否合理。必选
      时钟测试系统时间偏差测试测试系统时间没有偏差。必选
      时钟测试RTC时钟稳定性测试测试RTC硬件时钟稳定性。必选
      CPU测试CPU调频策略测试测试 cpu 在不同调频策略下运行频率是否预期,测试 cpu 在不同频率下完全同规格计算量所需时间是否与频率值吻合。必选
      Kdump测试预留内存测试查看系统是否为捕获内核提供预留内存。必选
      Kdump测试Kdump可用性测试Kdump服务能否正常使用。必选
      Kdump测试vmcore分析测试通过crash分析kdump生成的vmcore文件。必选
      系统测试系统事件捕获测试测试perf是否可以捕获系统事件信息。必选
      系统测试基本信息检查查询硬件型号信息,系统版本信息,系统内核模块信息。必选
      系统测试内核检查检查是否为debug kernel。检查os版本和kerner版本是否匹配。 检查内核是否被污染或者内核rpm包是否被修改。 查看内核启动参数。必选
      系统测试selinux检查检测selinux是否可用,可设置为enforcing。必选
      IPMI测试IPMI测试使用ipmitool查询ipmi信息。必选
      看门狗测试watchdog测试触发watchdog,测试系统是否可以正常复位。必选
      内存测试内存读写测试测试内存读写是否成功。必选
      内存测试内存占用测试测试此内存是否成功。必选
      内存测试内存大页测试大页内存分配成功,大页内存测试成功。必选
      内存测试内存热插拔测试测试内存热插拔。必选
      磁盘测试磁盘分区测试成功获取空闲磁盘。必选
      磁盘测试磁盘读写测试裸盘顺序读写成功,裸盘随机读写成功,文件系统顺序读写成功,文件系统随机读写成功。必选
      网卡测试获取IP地址是否可以获取C/S的IP地址。必选
      网卡测试网卡启停测试网卡是否可以正常启动、关闭,获取网卡速率。必选
      网卡测试网卡连通性测试客户端是否可以ping通服务端,是否有丢包。必选
      网卡测试延迟和带宽测试测试C/S之间的网络延迟和Server的带宽。必选
      网卡测试文件上传下载测试客户端是否可以从服务端上传和下载文件。必选
      USB测试USB插拔测试检测是否有新设备插入 检测是否有设备拔掉。必选
      RAID测试分区测试能成功获取空闲磁盘个数。必选
      RAID测试读写测试裸盘顺序读写成功,裸盘随机读写成功,文件系统顺序读写成功,文件系统随机读写成功。必选

      板卡测试标准

      经openEuler兼容性SIG组评定,硬件技术测评分为整机和板卡,板卡测试方案如下:

      NVMe测试标准
      测试维度检测项评定标准是否可选
      NVMe测试格式化测试测试硬盘格式化是否成功。必选
      NVMe测试读测试测试硬盘读是否成功。-
      NVMe测试写测试测试硬盘写是否成功。-
      NVMe测试smart测试磁盘读取samrt信息成功。-
      NVMe测试log测试分析smart信息成功。-
      网卡测试标准
      测试维度检测项评定标准是否可选
      网卡测试获取IP地址是否可以获取C/S的IP地址。-
      网卡测试网卡启停测试网卡是否可以正常启动、关闭,获取网卡速率。-
      网卡测试网卡连通性测试客户端是够能ping通服务端,是否有丢包。-
      网卡测试延迟和带宽测试测试C/S之间的网络延迟和Server的带宽。-
      网卡测试文件上传下载测试客户端能否从服务端上传和下载文件。-
      FC测试标准
      测试维度检测项评定标准是否可选
      FC卡测试lun测试获取可测试的磁盘阵列成功。-
      FC卡测试读写测试裸盘顺序读写成功,裸盘随机读写成功,文件系统顺序读写成功,文件系统随机读写成功。-
      GPU测试标准
      测试维度检测项评定标准是否可选
      GPU测试GPU burn测试gpu-burn工具压力测试,nvidia-sim工具监测性能指标正常。-
      GPU测试样例测试样例测试结果为PASS。-

      测试步骤

      工具简介

      为了解决欧拉技术测评过程中涉及的整机和板卡兼容性测试问题,基于《欧拉技术测评兼容性测试用例(整机&板卡)》 集成了oec-hardware测试工具。 此工具将根据《欧拉技术测评兼容性测试用例(整机&板卡)》提取为58个自动化测试用例,分为整机测试用例集和板卡测试用例集。

      环境要求

      整机测试环境要求。

      项目要求
      整机数量需要两台整机,业务网口互通。
      硬件至少有一张RAID卡和一张网卡(包括集成主板硬件)。
      内存建议满配。
      操作系统openEuler系操作系统(支持dnf/yum/pip3)。

      板卡测试环境要求。

      项目要求
      服务器型号Taishan200(Model 2280)、2288H V5或同等类型的服务器,对于x86_64服务器,icelake/cooperlake/cascade可任选一种,优选icelake。
      RAID卡需要组raid,至少组raid0。
      NIC/IB卡服务端和测试端需要分别插入一张同类型板卡,配置同网段IP,保证直连互通。
      FC卡需要连接磁阵,至少组两个lun。
      操作系统openEuler系操作系统(支持dnf/yum/pip3)。

      注意

      • 部分测试用例会重启机器,请勿在生产环境安装和执行测试工具。
      • 工具安装过程需要从外网下载代码和依赖包,请确保网络连接正常(如无法连接外网,需要下载相关依赖并进行安装)。
      • 工具日志默认存放在/usr/share,请确保目录剩余空间足够。

      工具安装

      客户端:

      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 。建议不使用业务网口进行网卡测试。
      • 部分用例需要root权限,请使用root用户执行。
      1. 启动测试工具

        在完成安装oec-hardware软件包的客户端执行 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 可以进入测试套选择界面。

      • 板卡测试请选择对应的板卡测试项。
      • 整机测试建议测试全部类型的测试项,至少需要测试一张RAID卡和网卡,网卡测试选择一个网口即可,注意不要使用业务网口进行测试。
        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)
        
      1. 选择测试套

        all|none 分别用于 全选|全取消(必测项 system 不可取消,多次执行成功后 system 的状态会变为Force),数字编号可选择测试套,每次只能选择一个数字,按 enter 之后 no 变为 yes,表示已选择该测试套。

      2. 开始测试

        选择完成后输入 run 开始测试。

      3. 上传测试结果

        测试完成后可以上传测试结果到安装oec-hardware-server软件包的服务端,便于展示结果和日志分析。如果上传失败,请检查网络配置,重新上传测试结果。

      4. 查看工具的测试日志

        客户端详细的测试日志路径为 /usr/share/oech/logs/oech-yyyymmddxxxx-xxxxxxx.tar 。

      5. 查看测试结果。

        测试结果上传到服务端后,在浏览器打开服务端 IP 地址,点击导航栏 Results 界面,找到对应的测试 id 进入,可看到具体的测试结果展示,包括环境信息和执行结果等。

      操作系统

      测试标准

      经openEuler兼容性SIG组评定,OSV商用发行版/企业自用版技术测评的测试方案如下。

      测试维度检测项检测点描述评定标准是否可选
      工具检测核心包核心包一致性比例名称、小版本完全一致,核心包包括核心包内容一致性,内核、gcc、glibc、qemu、docker、openJDK、systemd、openssh、lvm2、busybox、initscripts核心模块一致性,JDK如果没有,则不会纳入比较项。必选
      工具检测软件包L1/L2 软件包一致性比例L1 100%兼容,L2 95%以上兼容,参考社区等级清单定义(附上链接)https://gitee.com/openeuler/oec-application/blob/master/doc/compatibility_level.md必选
      工具检测内核KABI接口OSV内核KABI接口白名单与openEuler内核KABI接口白名单一致性比例内核-KABI白名单 90%以上兼容。可选
      工具检测用户态ABI接口OSV软件包ABI接口与openEuler软件包ABI一致性比例L1 100%兼容,L2 95%以上兼容,参考社区等级清单定义。必选
      工具检测Service默认配置OSV软件包Service文件与openEuler软件包Service文件一致性比例全量默认配置一致性90%以上。可选
      工具检测软件包默认配置OSV软件包配置文件与openEuler软件包配置文件一致性比例全量默认配置一致性90%以上,目前对于OSV厂商新增的配置,不会作为差异比较。可选
      工具检测内核特性配置内核特性配置内核关键配置一致性,达90%以上。必选
      平台验证仓库EPOL仓/软件所仓库在OSV版本上安装成功比例仓库复用度90%以上。必选
      平台验证基本功能社区AT用例运行结果社区AT用例运行结果100%通过。必选
      平台验证基础性能基础性能测试结果性能浮动5%以内。必选
      平台验证运行时默认配置运行时默认配置全量运行时默认配置一致性90%以上。可选

      测试步骤

      工具简介

      OECP工具比较2个ISO之间的静态差异,OECP工具需借助compass-ci才能比较2个ISO之间的动态差异。在测试完成后输出的OSV认证报告中,静态差异测试工具检测的检测项,动态差异才包括平台验证的检测项。

      环境要求

      项目要求
      服务器当前支持Kunpeng和X86等多个底座,有其他平台的适配需求欢迎提交issue。
      操作系统openEuler系操作系统。
      依赖软件python3-devel,sqlite,libabigail,japi-compliancechecker,安装方法见工具安装。

      注意

      • 请勿在生产环境安装和执行测试工具
      • 工具安装过程需要从外网下载代码和依赖包,请确保网络连接正常(如无法连接外网,需要将gem相关依赖完全离线并进行安装)。
      • 工具默认安装在当前目录,请确保目录剩余空间足够。

      工具安装

      1. 安装依赖。

        yum install -y python3-devel sqlite libabigail-devel python3-pip
        
        pip3 install pyyaml
        
        git clone https://github.com/lvc/japi-compliance-checker.git
        
        cd japi-compliance-checker
        
        make install prefix=/usr
        

        安装结果检测。

         japi-compliance-checker -test
        

      2. 工具安装。

        git clone https://gitee.com/openeuler/oecp.git
        
        cd oecp
        
        pip3 install -r requirement
        

      测试执行

      1. 执行测试。

        python3 cli.py file1 file2
        

        说明:

        • file1: 基准ISO
          • file2: 待测评的ISO
      2. 查看结果。

        在结果文件osv_data_summary.xlsx中查看测试结果。

      平台操作指导

      4.1 用户注册

      4.2 企业认证

      4.3 测评申请

      4.4 测评审批

      4.5 证书签发

      用户注册登录

      访问技术测评平台

      在浏览器地址栏输入: https://certification.openeuler.org 进行访问,填写如下信息。

      • 如已完成账号注册,可在①处填写账号密码登录平台。

      • 如未注册账号,需点击②处进行账号注册,详见注册账号

      注册账号

      注册页面填写手机号进行注册,并且需同意《openEuler隐私声明》和《兼容性协议》。

      完成注册后会自动登录进平台,如下图。

      完善个人信息

      完善平台个人信息

      首次登录时请先完善个人信息,点击页面右上角 “用户名(注册时填写的用户名)” -> “账号中心”。

      点击修改,进入编辑界面,完善邮箱信息。

      说明:邮箱后续和CLA邮箱关联,建议填写企业邮箱

      签署CLA

      点击首页的“CLA签署”或者访问“https://www.openeuler.org/zh/community/contribution/”,点击左下角的“openEuler社区贡献者许可协议”进入CLA签署页面。选择类型如下:

      如果作为企业的员工进行技术测评,建议在公司政策允许情况下,签署“员工CLA”。进入签署页面后,需填写Gitee账号(用于后续欧拉相关仓库相关活动)、邮箱账号(必须和测评平台的邮箱账号一致)、姓名。

      企业认证

      在“个人中心”点击左下的“企业信息”,如下图。

      点击“企业实名认证”进入提交页面,如下图。

      需提交企业LOGO(透明底)、工商注册国家/地区、企业邮箱、上传营业执照。

      说明:自动提取有一定的失败率,提取后请再次确认。确认无误后,点击“提交”完成企业认证。系统会自动根据提交的信息,确认企业信息是否有效。

      测评申请

      伙伴访问技术测评平台(https://certification.openeuler.org),点击“申请技术测评”, 根据提示,完善方案信息和测试环境信息。

      欧拉兼容性技术测评要求适配多算力平台,因此,此处的算力平台需至少选择两个算力平台。

      完善提交后,自动返回主页面,可在“测评申请”列表查看到对应的方案,点击方案,进入详情页查看方案详情和各个阶段的处理人。

      测评审批

      提交测试报告

      提交测评申请后,会由社区的相关负责人进行方案的审批。

      • 如果审批不通过,方案会驳回到提交人,此时提交人需查看驳回原因,修改后重新提交。
      • 如果通过,则进入测试阶段,此时提交人需根据欧拉兼容性技术测评标准对方案进行测试,并提交测试报告。

      上传后,创新中心及社区负责人会对测试报告进行审核,通过审核后,即可进入证书签发的流程,社区负责人对证书信息进行初审,确认证书信息与实际测试内容一致后通过审核,由伙伴进行证书确认。

      证书确认

      在openEuler社区和创新中心报告评审通过后,社区会进行证书初审,初审通过后,申请人需要进行证书确认,如下图所示:

      申请人需要确认证书上软件的信息、测试环境信息等是否准确无误,确认准确无误后,需上传伙伴的签名/签章(透明底),用于后续证书生成。

      申请人也可以点击“证书预览”,查看证书预览页面。

      确认证书信息无误并且上传签名/签章后,点击提交即可。

      证书签发

      openEuler社区签发证书

      申请人确认证书信息无误并上传签名/签章后,openEuler社区对证书的内容一致性和正确性进行最终审核,确认无误后,进行证书签发

      发布兼容性清单

      证书签发后,兼容性信息会自动发布到openEuler官网兼容性清单(https://www.openeuler.org/zh/compatibility/)

      附录

      修改商业软件测试安装和卸载命令

      1. 修改安装命令

        vi $LKP_PATH/tests/compatibility-test
        

        修改72行的安装命令,将安装命令的执行结果保存到变量a中

        下面76行将出现"error"报错识别为失败,如安装过程失败提示非"error"字样,请根据实际情况修改。

      2. 修改卸载命令

        vi $LKP_PATH/tests/compatibility-test
        

        修改208行的卸载命令,如无出现报错,即认为修改成功

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份