diff --git a/component/LkpTests/build_lkp_tests_all.sh b/component/LkpTests/build_lkp_tests_all.sh
index dcae1fc6c85dba012f191b716e966c8f6d204156..4756c68ca315f2e95bce2940156e7e93fbc8e140 100644
--- a/component/LkpTests/build_lkp_tests_all.sh
+++ b/component/LkpTests/build_lkp_tests_all.sh
@@ -13,7 +13,7 @@ function main() {
fi
cd ${current_dir}/compatibility_help/
- wget -c https://mirrors.huaweicloud.com/kunpeng/archive/compatibility_testing/compatibility_testing.tar.gz
+ wget -c https://gitee.com/jerry-553/lkp_test_devkitpipeline/releases/download/lkp-all-resource/compatibility_testing.tar.gz
if [[ "$?" -ne "0" ]]; then
exit 1
fi
diff --git a/component/LkpTests/compatibility_help/compatibility_help.sh b/component/LkpTests/compatibility_help/compatibility_help.sh
index f43798482b6333b7879cc763ba20c88338fad237..6c8dfdcde1652ad4951cb8cc3a221b9e771f543e 100644
--- a/component/LkpTests/compatibility_help/compatibility_help.sh
+++ b/component/LkpTests/compatibility_help/compatibility_help.sh
@@ -8,20 +8,6 @@ function main() {
upload_path=$2
cd ${save_path}
- tar -zxf ${save_path}/compatibility_testing.tar.gz
- rm -rf ${save_path}/compatibility_testing/Chinese/compatibility_testing.sh
- /bin/cp -rf ${save_path}/compatibility_testing.sh ${save_path}/compatibility_testing/Chinese/compatibility_testing.sh
- echo "download cloudTest"
- wget -c https://gitee.com/jerry-553/lkp_test_devkitpipeline/releases/download/cloud-test/cloudTest.jar
- /bin/cp -rf cloudTest.jar ${save_path}/compatibility_testing/
- /bin/cp -rf ${save_path}/json2html.py ${save_path}/compatibility_testing/
- /bin/cp -rf ${save_path}/template.html.bak ${save_path}/compatibility_testing/
- /bin/cp -rf ${save_path}/report_result.sh ${save_path}/compatibility_testing/
- /bin/cp -rf ${save_path}/check_report_result.py ${save_path}/compatibility_testing/
- /bin/cp -rf ${save_path}/compatibility_testing/template.html.bak ${save_path}/compatibility_testing/template.html
- echo "tar -zcf compatibility_testing.tar.gz ./compatibility_testing"
- tar -zcf compatibility_testing.tar.gz ./compatibility_testing
-
echo "/bin/cp -rf compatibility_testing.tar.gz ${upload_path}"
/bin/cp -rf compatibility_testing.tar.gz ${upload_path}
}
diff --git a/component/LkpTests/lkp_help/lkp_help.sh b/component/LkpTests/lkp_help/lkp_help.sh
index 0de5e8f2df104c6b6a93b933a1528717101a91c4..3d650bdfd489acfe4141339e2262db0ec0f3064e 100644
--- a/component/LkpTests/lkp_help/lkp_help.sh
+++ b/component/LkpTests/lkp_help/lkp_help.sh
@@ -11,22 +11,7 @@ function main() {
rm -rf ${current_dir}/lkp-tests
fi
- git clone https://gitee.com/wu_fengguang/lkp-tests.git
- if [[ "$?" -ne "0" ]]; then
- exit 1
- fi
-
- cd lkp-tests
- git apply ${current_dir}/devkit-pipeline.patch
- /bin/cp -rf ${current_dir}/compatibility-test ${current_dir}/lkp-tests/programs/compatibility-test
- dos2unix ${current_dir}/lkp-tests/programs/compatibility-test/run
- if [[ "$?" -ne "0" ]]; then
- exit 1
- fi
-
- cd ${current_dir}
- echo "tar -zcf lkp-tests.tar.gz ./lkp-tests"
- tar -zcf lkp-tests.tar.gz ./lkp-tests
+ wget -c https://gitee.com/jerry-553/lkp_test_devkitpipeline/releases/download/lkp-all-resource/lkp-tests.tar.gz
if [[ "$?" -ne "0" ]]; then
exit 1
fi
diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
index 967715d344bd65e92762c351c3bdcc50aa6e114e..fe222ad8a7c82a73c04155525970e97abe6ffd16 100644
--- "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
+++ "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
@@ -80,43 +80,6 @@ source-code-migration:
| -l/--log-level | 0,1,2,3 | 可选参数。设置日志级别。0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
| -r/--report-type | all,json,html,csv | 可选参数。 扫描报告的格式。默认为all,选择all的时候json、csv和html报告都会生成。 |
| --ignore | /opt/ignore.json | 可选参数。屏蔽扫描规则信息。 |
-
-
-##### 系统迁移:
-```
-stages:
- - build
- - migrating-applications
-
-system-migration:
- stage: migrating-applications
- tags:
- - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
- script:
- - echo '====== 系统迁移 ======'
- - devkit porting sys-mig -o ./ || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
-
- # 示例 devkit porting sys-mig -c stmt -cf porting/resources/sysmig default.conf -o ./ || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
- artifacts:
- paths:
- - s*.*
-
-
-```
-具体参数如下(均为可选参数)
-| 参数 | 参数选项 | 说明 |
-| ------------ | ------------ | ------------ |
-| -c/--command | stmt/sbom | 收集信息的模式。stmt:收集台账信息。sbom:收集sbom信息。 |
-| -cf/--config | configure_file_path | 输入参数配置文件路径。 |
-| -d/--directory | scan_path | 输入扫描文件目录,支持输入多个目录,多个目录间以空格分隔。 |
-| -t/--template | stmt_template_path | stmt模式参数,输入台账扫描结果模板路径,默认按照程序内置模板生成扫描结果。 |
-| -o/--output | report_dir | 报告输出目录,默认为二进制所在report目录。 |
-| -f/--format | html/json | sbom模式参数,输入生成报告格式,支持选择html、json格式,可以选择多个报告格式,默认为HTML格式,多个报告格式以空格间隔。 |
-| -e/--exclude-fields | version/checkOutPath | sbom模式参数,表示需要隐藏的参数信息,可选参数范围:version和checkOutPath,支持同时选择。version表示成分版本号checkOutPath表示成分检出路径,多个参数信息以空格间隔。 |
-| -v/--version | - | 展示程序版本信息,无输入参数。 |
-| -h/--help | - | 帮助查询,无输入参数。 |
-| -l/--log-level | 0,1,2,3 | 日志等级,可选参数:0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
-
##### 64位运行模式检查:
```
stages:
@@ -134,7 +97,7 @@ stages:
# 示例 devkit advisor mode-check -i /opt/DevKit/testcase/affinity/precheck/test005 -r html
artifacts:
paths:
- - mode-check*.html # 文件后缀.html根据-r参数配置,也可配置为 mode-check*.*
+ - mode_check*.html # 文件后缀.html根据-r参数配置,也可配置为 mode_check*.*
```
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216gitlab\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216gitlab\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c5c8999d5eda9c46c36244336e7f92ef88b81a1f
--- /dev/null
+++ "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216gitlab\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md"
@@ -0,0 +1,484 @@
+
《devkit 测试平台安装使用以及与gitlab集成部署指导手册》
+
+
+
+
+
+[TOC]
+
+------
+测试平台使用的是lkp test 工具,以下均已lkp test描述测试平台
+## 一、lkp test 添加测试用例介绍
+### 样例
+如下目录中的文件,完整的添加了一个典型的测试用例memtier:
+
+```
+programs/memtier/jobs/memtier-dcpmm.yaml # 在job YAML里指定想跑的programs/params
+programs/memtier/jobs/memtier.yaml # 可以预定义很多的jobs
+programs/memtier/meta.yaml # memtier描述文件
+programs/memtier/PKGBUILD # memtier下载编译
+programs/memtier/run # memtier运行脚本
+programs/memtier/parse # memtier结果解析
+```
+如果加的program type属于monitor/setup脚本,则需要放到对应的monitors/, setup/目录下,而非programs/目录。 集中存放monitor/setup脚本,有利于他人查找和复用。
+
+其中jobs/下的YAML文件,定义了memtier的各种常见运行参数、及与其它脚本的组合。 用户要跑其中的一个测试组合,典型步骤如下
+
+
+```
+# 把job YAML从矩阵描述形式分解为一系列原子任务
+$ lkp split memtier-dcpmm.yaml
+jobs/memtier-dcpmm.yaml => ./memtier-dcpmm-1-cs-localhost-0-8-1-1-65535-never-never.yaml
+jobs/memtier-dcpmm.yaml => ./memtier-dcpmm-1-cs-localhost-0-24-1-1-65535-never-never.yaml
+
+# 安装依赖,包括安装meta.yaml里depends字段描述的软件包,以及调用PKGBUILD
+$ lkp install ./memtier-dcpmm-1-cs-localhost-0-8-1-1-65535-never-never.yaml
+
+# 运行任务,会调用其中指定的各run脚本,结果保存到/lkp/result/下一个新建的目录里
+# 结束后自动运行各parse脚本,提取各结果指标并汇集到stats.json
+$ lkp run ./memtier-dcpmm-1-cs-localhost-0-8-1-1-65535-never-never.yaml
+```
+### 概述
+一个测试用例一般涉及如下部分
+
+```
+1) 基本信息说明 # meta.yaml metadata部分
+2) 安装哪些依赖 # meta.yaml depends字段
+3) 下载编译一些程序 # PKGBUILD脚本
+4) 对所在环境做哪些设置 # run脚本 (type=setup)
+5) 监控系统的一些状态 # run脚本 (type=monitor)
+6) 运行哪些程序,以什么参数运行 # run脚本 (type=workload)
+7) 怎么解析结果,抽取度量指标 # parse脚本
+```
+为了实现最大的灵活性、可复用性,我们以job-program-param三层模型来组织测试用例。 一个job YAML的典型内容为
+
+```
+monitor_program1:
+monitor_program2:
+...
+setup_program1:
+ param1:
+ param2:
+setup_program2:
+ param1:
+...
+workload_program1:
+ param1:
+workload_program2:
+ param1:
+ param2:
+```
+其中每个脚本只做一件事,这样组合起来会很灵活和强大。monitor/setup programs的可复用性就很好。
+
+用户跑一个用例的入口是job,可以自己书写job,也可以使用jobs/目录下预定义的job。 当运行一个job时,lkp会找到job中指定的各类programs,以指定的params key/val为环境变量,执行各program。 确切的规则如下
+
+```
+
+# job YAML 内容
+
+ $program:
+ param1: val1
+ param2: val2
+
+# lkp install job 执行的伪代码
+
+ find programs/$program/meta.yaml or
+ programs/**/meta-$program.yaml
+
+ for each package in meta YAML's depends field:
+ check install package RPM/DEB
+ if OS has no such package:
+ find programs/$package/PKGBUILD or
+ programs/**/PKGBUILD-$package
+ makepkg for the first found one
+
+# lkp run job 执行的 shell 伪代码
+
+ # run
+ export param1=val1
+ export param2=val2
+ find programs/$program/run or
+ programs/**/run-$program
+ run the first found one, redirecting stdout/stderr to $RESULT_ROOT/$program
+ # parse
+ run its parse script < $RESULT_ROOT/$program | dump-stat to $RESULT_ROOT/$program.json
+ unite all $RESULT_ROOT/$program.json to $RESULT_ROOT/stats.json
+```
+### 添加meta.yaml描述文件
+一个meta.yaml文件描述一个program,其结构如下
+
+```
+metadata:
+ name: # 程序名
+ summary: # 单行描述
+ description: # 多行/多段详细描述
+ homepage: # 脚本所调用程序的上游项目的主页URL
+type: # monitor|setup|daemon|workload
+monitorType: # one-shot|no-stdout|plain
+depends:
+ gem: # ruby gem 依赖
+ pip: # python pip 依赖
+ ubuntu@22.04: # ubuntu 22.04的DEB包依赖
+ openeuler@22.03: # openeuler 22.03的RPM包依赖
+pkgmap: # 各OS之间的包名映射,这样我们可以在depends里指定一个OS的完整依赖列表,通过少量包名映射来支持其它OS
+ archlinux..debian@10:
+ debian@10..openeuler@22.03: # 以下为两个样例
+ dnsutils: bind-utils
+ cron: cronie
+params: # run脚本可以接受的环境变量参数,以下为样例
+ runtime:
+ type: timedelta
+ doc: length of time, with optional human readable time unit suffix
+ example: 1d/1h/10m/600s
+ ioengine:
+ type: str
+ values: sync libaio posixaio mmap rdma
+results: # parse脚本可以从结果中提取的metrics,以下为样例
+ write_bw_MBps:
+ doc: average write bandwidth
+ kpi: 1 # weight for computing performance index; negative means the larger the worse
+```
+### 添加job YAML
+一般我们需要主要跑一个type=workload的program,同时再跑一些type=monitor/setup/daemon的programs,加上它们的参数,构成一个完整的测试用例。 我们用一个个的job YAML来描述这些测试用例。
+
+所以预定义job YAML大体上可以按workload来组织,放在路径下
+
+```
+programs/$workload/jobs/xxx.yaml
+```
+当然也可以按更大粒度来组织,比如场景、测试类型等分类,此时可以放在路径下
+
+
+```
+jobs/$test_scene/xxx.yaml
+jobs/$test_class/xxx.yaml
+```
+以上预定义jobs的搜索路径,lkp框架代码都支持。具体path glob pattern是
+
+
+```
+programs/*/jobs/*.yaml
+jobs/**/*.yaml
+```
+### 添加程序
+Job YAML中引用的programs,需要您预先写好,lkp会在如下路径搜索其文信息/脚本:
+
+
+```
+1st search path 2nd search path
+programs/$program/meta.yaml programs/**/meta-$program.yaml
+programs/$program/{run,parse} programs/**/{run,parse}-$program
+programs/$package/PKGBUILD programs/**/PKGBUILD-$package
+```
+程序一般添加到 programs/$program/ 目录下,具体添加以下几个脚本
+
+
+```
+
+programs/$program/meta.yaml # 描述文件
+programs/$program/run # 接收/转换环境变量传过来的参数,运行目标程序
+programs/$program/parse # 解析结果(一般是run的stdout),输出metrics (YAML key/val)
+programs/$program/PKGBUILD # 下载编译安装run调用的目标程序
+tests/$program => ../programs/$program/run # 创建符号链接 保持兼容
+```
+其中PKGBUILD仅必要时添加。parse一般在program type=monitor/workload时才需要。
+
+一般一个program一个目录。但有时候client/server类型的测试,把workload+daemon programs放在一起比较方便。 此时可以参照sockperf,把sockperf-server daemon以如下方式添加到sockperf workload目录下:
+
+```
+
+programs/sockperf/meta-sockperf-server.yaml
+programs/sockperf/run-sockperf-server
+```
+### 添加依赖
+
+一个program的依赖表述为
+
+```
+
+ programs/$program/meta.yaml
+ depends:
+ debian@10:
+ - $package1
+ - $package2
+ pkgmap:
+ debian@10..centos@8: # centos 8不自带$package2,映射为空
+ $package2:
+
+ programs/$program/PKGBUILD-$package1
+ programs/$program/PKGBUILD-$package2
+```
+这里定义了两类依赖 1) OS自带的包 2) 需要从源码下载编译的包 当OS包含package1/package2时,lkp框架可自动安装对应的rpm/deb; 如果没有,再使用PKGBUILD-xxx构建出包。
+
+例如,在debian 10中,lkp install会执行
+
+
+```
+apt-get install $package1 $package2
+```
+在在centos 8中,lkp install会执行
+
+```
+
+yum install $package1
+makepkg PKGBUILD-$package2 # 从源码下载编译
+```
+如您希望强制从源码编译下载,无论所在OS是否包含RPM/DEB包,那么可以通过指定PKGBUILD依赖
+
+```
+
+depends:
+ PKGBUILD:
+ - $package1
+```
+那么lkp install会无条件编译$package1
+
+注意,PKGBUILD语义上对应一个package,而不是对应
+program。 这两者语义上不同,虽然很多时候两者内容是一样的。当内容一样时,比如
+
+```
+
+programs/$program/PKGBUILD-$package
+
+```
+也可以写为简化形式
+
+
+```
+programs/$program/PKGBUILD # when $package=$program
+
+```
+注意,PKGBUILD文件名及其内部depends/makedepends字段里的$package使用的是archlinux包名。 所以其它OS缺失此包,或者有此包,但是名字不一样的话,需要配置对应的pkgmap包名映射,或者加上OS后缀,比如
+
+
+```
+makedepends_debian_11=(lam4-dev libopenmpi-dev libmpich-dev pvm-dev)
+```
+
+### 示例-云测工具(compatibility-test)
+1. 在programs 文件夹下创建compatibility-test文件夹,里面至少要包含以下几个文件,其余文件可以根据需求自行决定是否添加
+programs/compatibility-test/jobs/compatibility-test.yaml # 预定义compatibility-test的job,需要与文件夹名字一致
+programs/compatibility-test/meta.yaml # compatibility-test描述文件
+programs/compatibility-test/run # compatibility-test运行脚本
+
+2. 文件内容详情
+programs/compatibility-test/jobs/compatibility-test.yaml:
+
+```
+suite: compatibility-test # 项目介绍
+category: functional # 项目类型(functional是只跑run脚本不会同时拉monitor监控应用,如果想同时使用monitor请写benchmark)
+
+file_path: /home/lj/test/compatibility_testing/Chinese # run 脚本的输入参数,如果有多个请写在下面compatibility-test:后
+compatibility-test: # run 脚本的输入参数,
+# 如果同一参数有多个不同值需要运行,可以按照以下方式参考
+xxx:
+ parameter1:
+ - value1
+ - value2
+
+ parameter2:
+ - value1
+ - value2
+```
+
+programs/compatibility-test/meta.yaml:
+```
+metadata:
+ name: compatibility-test # 名字
+ summary: A program can run some basic tests # 这个项目的总结
+ description: run compatinility test and generate the report # 这个项目的介绍
+ homepage: https://gitee.com/openeuler/devkit-pipeline # 项目的网址
+type: workload # 项目类型
+depens: # 项目依赖
+params: # 需要的参数
+results: # 需要对结果进行处理
+```
+programs/compatibility-test/run:
+```
+# 这个文件是shell脚本,当使用lkp test命令去运行指定yaml的时候会把yaml的参数传入到run 文件中,请根据各自项目自行写此文件
+#!/bin/bash
+
+set -e
+ct_sh_path=${HOME}/.local/compatibility_testing/Chinese/compatibility_testing.sh
+cloud_jar=${HOME}/.local/compatibility_testing/cloudTest.jar
+
+cd ${HOME}/.local/compatibility_testing/Chinese/
+#sh $ct_sh_path
+
+#java -jar $cloud_jar &
+#sleep 15
+#jar_pid=$!
+#curl --location --request GET 'http://127.0.0.1:10037/api/v1/report?savePath=/'${HOME}'/.local/compatibility_testing/Chinese/log.json&file=/'${HOME}'/.local/compatibility_testing/Chinese/log.tar.gz'
+#kill -9 $jar_pid
+cp -rf ${HOME}/.local/compatibility_testing/template.html.bak /${HOME}/.local/compatibility_testing/template.html
+cd ${HOME}/.local/compatibility_testing/
+python3 ${HOME}/.local/compatibility_testing/json2html.py
+
+```
+3. 必要步骤
+在完成此文件夹的创建后,依然还需要两步操作去让lkp命令找到指定的运行文件
+
+```
+# 第一步 运行lkp slpit 命令去分隔jobs里面写的yaml文件,他会根据run文件以来的每个参数不同的输入值分成多个可执行的yaml文件,
+例如
+lkp split programs/compatibility-test/jobs/compatibility-test.yaml
+# 云测工具会得到输出 programs/compatibility-test/jobs/compatibility-test.yaml => ./compatibility-test-defaults.yaml,当我们每次更新jobs下面的yaml文件的输入参数后都需要重新运行 lkp split命令
+# 当我们lkp run的时候就要运行这个分隔后的yaml文件(在云测工具就是compatibility-test-defaults.yaml)
+# 第二步 需要增加一个软连接
+
+ln -s xxx/lkp-tests/programs/compatibility-test/run xxx/lkp-tests/tests/compatibility-test
+```
+## 二、gitlab Pipeline 中集成lkp test (以云测工具(compatibility-test)为示例)
+### 1. 流水线代码示例
+```
+stages: # List of stages for jobs, and their order of execution
+ - build
+ - test
+ - deploy
+
+
+build-job: # This job runs in the build stage, which runs first.
+ stage: build
+ script:
+ - CURDIR=$(pwd)
+ - echo $CURDIR
+ - cp -rf /root/.local/compatibility_testing/template.html.bak /root/.local/compatibility_testing/template.html
+ - sudo /root/.local/lkp-tests/bin/lkp run /root/.local/lkp-tests/programs/compatibility-test/compatibility-test-defaults.yaml
+ - cp -rf /root/.local/compatibility_testing/compatibility_report.html $CURDIR/compatibility_report.html
+ - sudo sh /root/.local/compatibility_testing/Chinese/test_result.sh
+ - echo "请去 '${CURDIR}'/compatibility_report.html 查看报告 "
+ artifacts:
+ paths:
+ - compatibility_report.html # 文件后缀.html根据-r参数配置,也可配置为 src-mig*.*
+ tags:
+ - dlj # 对应gitlab-runner注册时的标签,可选择多个
+```
+
+### 2. 创建流水线
+
+
+
+
+
+## 三、FAQ
+
+### lkp install 遇到的问题
+
+1. 报错,系统不支持
+ 
+ [解决方式]:
+ 环境变量中增加 LKP_SRC,路径和$LKP_PATH 一样
+ export PATH=$PATH:/home/lj/lkp-tests/sbin:/home/lj/lkp-tests/bin:/home/lj/lkp-tests/sbin:/home/lj/lkp-tests/bin
+ export LKP_PATH=/home/lj/lkp-tests
+ export LKP_SRC=/home/lj/lkp-tests
+
+## 2. lkp test 任务创建指导
+
+### 1. 文件介绍
+
+[doc/add-testcase.zh.md · Fengguang/lkp-tests - Gitee.com](https://gitee.com/wu_fengguang/lkp-tests/blob/master/doc/add-testcase.zh.md)
+
+### 2. 必须的文件
+
+run (可执行脚本)
+
+meta.yaml (介绍项目的详细信息)
+
+jobs 文件夹以及文件夹内需要包含一个与program同名的yaml文件
+
+
+
+```shell
+lkp split xxx.yaml # 这个yaml是jobs文件夹里的,在哪里执行这个命令,分割出来的任务就会在哪
+lkp run xxxx.yaml # 这个yaml是上一步分割完后生成的yaml
+```
+
+## 3. 离线安装指导
+
+
+
+### 1.yum源配置
+
+请配置everything的yum源
+[https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/ISO/aarch64/](https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/ISO/aarch64/)
+
+### 2.gem 配置
+
+去[https://gems.ruby-china.com/](https://gems.ruby-china.com/) 下载以下gem依赖
+bundeler 2.2.33, diff-lcs 1.5.0, minitest 5.15.0 concurrent-ruby 1.1.10, docile 1.4.0, rchardet 1.8.0,
+gnuplot 2.6.2, parallel 1.22.1, public_suffix 4.0.7, regexp_parser 2.6.0, rexml 3.2.5, ast 2.4.2,
+rainbow 3.1.1, rspec-support 3.12.0, ruby-progressbar 1.11.0, unicode-display_width 2.3.0,
+git 1.7.0, simplecov_json_formatter 0.1.4, simplecov-html 0.12.3, rspec-core 3.12.0, rspec-expectations 3.12.0,
+rspec-mocks 3.12.0, i18n 1.12.0, builder 3.2.4, sync 0.5.0, tzinfo 2.0.5, rspec 3.12.0, ci_reporter 2.0.0,
+ci_reporter_rspec 1.0.0, parser 3.1.2.1, tins 1.31.1, term-ansicolor 1.7.1, rubocop 1.12.1, simplecov 0.21.2,
+simplecov-rcov 0.3.1
+将以上依赖放到 /usr/share/gems/gems
+并执行gem install --local 安装以上依赖
+
+### 3.环境变量 配置
+
+export PATH=$PATH:lkptest路径/lkp-tests/sbin:lkptest路径/lkp-tests/bin:lkptest路径/lkp-tests/sbin:lkptest路径/lkp-tests/bin
+export LKP_PATH=lkptest路径/lkp-tests
+export LKP_SRC=lkptest路径/lkp-tests
+
+### 4.测试是否安装成功
+
+```shell
+lkp help
+lkp install
+
+```
+
+## 四、 云测工具
+
+要运行云测平台需要配置参数,在安装目录${HOME}/.local/compatibility_testing/Chinese/compatibility_testing.conf
+
+```abap
+##################################################################################
+#功能描述: 提供给用户进行兼容性测试、性能测试的指标日志采集工具
+#版本信息: 华为技术有限公司,版权所有(C) 2020-2022
+#修改记录: 2022-08-17 修改
+#使用方法:自动化采集开始前,请用户先配置compatibility_testing.conf,
+# 填写待测试应用名称application_names,
+# 待测试应用启动命令start_app_commands,
+# 待测试应用停止命令stop_app_commands
+# 被测应用软件的压力测试工具启动命令start_performance_scripts,
+# 确认填写后
+# CentOS/中标麒麟/SUSE/openEuler:使用root用户执行,sh compatibility_testing.sh。
+# Ubuntu/银河麒麟/UOS:使用root用户执行,bash compatibility_testing.sh。
+# 多节点集群部署,在每台节点服务器上配置对自身节点和其他所有节点的SSH免密登录。并在控制节点(主节点)执行脚本。
+###################################################################################
+
+# 待测试应用软件进程名称,多个应用名称以逗号隔开。
+# 可通过ps或者docker top 命令CMD所在列查找后台进程名称, Kubernetes集群环境下填写Pod名称。
+application_names= test1 #请填写应用启动后的进程名
+# 待测试应用软件启动命令,多个应用的启动命令以逗号隔开。
+start_app_commands= nohup python3 /xxx/test1.py & # 如果是多行命令请写到脚本里,由脚本拉起,如果命令不是后台运行,请添加nohup参数变成后台运行
+# 待测试应用软件停止命令,多个应用的停止命令以逗号隔开。
+stop_app_commands= # 应用软件停止命令
+# 被测应用软件的压力测试工具启动命令。
+start_performance_scripts= nohup python3 /home/lj/test2.py &
+# Kubernetes集群填写"Y"。其他环境可置空。
+kubernetes_env=
+
+# 以下为多节点集群部署填写,单机(单节点)部署不需要填写。
+# 集群环境的IP地址列表,多个IP地址以逗号隔开,列表不应包括当前脚本所在服务器IP地址,请勿增加。
+cluster_ip_lists=
+
+# 以下为Validated认证测试填写,Compatible认证测试不需要填写。
+# CVE漏洞扫描目录,多个目录以逗号隔开,Validated认证测试有自己的CVE漏洞检查工具不需要填写。
+# 集群环境下, 非当前脚本所在服务器的目录填写为"IP:目录", 如192.168.2.2:/root/tomcat
+cve_scan_path=
+# clamav防病毒扫描目录,多个目录以逗号隔开,Validated认证测试有自己的商用杀毒软件不需要填写。
+# 集群环境下, 非当前脚本所在服务器的目录填写为"IP:目录", 如192.168.2.2:/root/tomcat
+clamav_scan_path=
+
+# 以下为HPC应用方案认证填写,HPC应用测试填写"Y",其他应用认证测试可置空。
+hpc_certificate=
+
+# 以下为C/C++编译的应用填写,请填写待测试应用二进制文件的绝对路径。
+binary_file=
+
+```
+
+
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216gitlab\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216gitlab\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf"
new file mode 100644
index 0000000000000000000000000000000000000000..6f742dc036f9d7eabb725929f86046d2c47cbcea
Binary files /dev/null and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216gitlab\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf" differ
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md"
index 075462a937d8cc1259727c651cbe4e14a47ccab5..7b9cc967c08e7a72dac7c48e9a272d084d15fedd 100644
--- "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md"
+++ "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md"
@@ -385,77 +385,6 @@ stage('lkp test') {
----
## 二、FAQ
-## 1. 联网安装指导
-
-### 权限
-
-lkp test 运行需要root用户运行,所以在自动化的过程中有一个切root的操作
-
-### 安装教程
-
-[https://docs.openeuler.org/zh/docs/22.09/docs/certification/%E6%B5%8B%E8%AF%95%E6%A0%87%E5%87%86%E5%92%8C%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7.html](https://docs.openeuler.org/zh/docs/22.09/docs/certification/%E6%B5%8B%E8%AF%95%E6%A0%87%E5%87%86%E5%92%8C%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7.html)
-
-### 证书问题
-
-
-[解决方式]:[https://developer.baidu.com/article/details/2821747](https://developer.baidu.com/article/details/2821747)
-
-[配套镜像源]: (http://mirrors.aliyun.com/rubygems/)
-
-### make install 遇到的问题
-
-1. 未从更新后的镜像源拉取资源
- 
- [解决方式]:
-
-
-将 lib/install.sh里第8行替换为可用的镜像源,以及可以屏蔽掉10-12行中不可用的镜像源
-
-2. 卡死报错
- 
-
-
-
-[解决方式]:
-安装bundler
-首先运行
-
-```shell
-cat Gemfile.lock | grep -A 1 "BUNDLED WITH"
-```
-
-
-安装相同版本
-
-```shell
-gem install bundler -v 2.2.33
-```
-
-3. 为更新gem缓存导致更新的镜像源未生效
- 
- [解决方式]:
-
-```shell
-# 运行命令,删除无效镜像源
-gem source
-# 在更新镜像源后需要更新gem缓存,让更新的镜像源生效
-gem source -u
-```
-
-4. bundle镜像源配置问题
- 
- [解决方式]:
-
-```shell
-# 替换bundle镜像源
-bundle config mirror.https://rubygems.org https://mirrors.aliyun.com/rubygems
-```
-
-5. 安装超时报错
- 
- [解决方式]:
-
-安装时间过长,连接冲断,重新运行make install即可解决
### lkp install 遇到的问题
@@ -522,3 +451,56 @@ export LKP_SRC=lkptest路径/lkp-tests
lkp help
lkp install
```
+## 四、 云测工具
+
+要运行云测平台需要配置参数,在安装目录${HOME}/.local/compatibility_testing/Chinese/compatibility_testing.conf
+
+```abap
+##################################################################################
+#功能描述: 提供给用户进行兼容性测试、性能测试的指标日志采集工具
+#版本信息: 华为技术有限公司,版权所有(C) 2020-2022
+#修改记录: 2022-08-17 修改
+#使用方法:自动化采集开始前,请用户先配置compatibility_testing.conf,
+# 填写待测试应用名称application_names,
+# 待测试应用启动命令start_app_commands,
+# 待测试应用停止命令stop_app_commands
+# 被测应用软件的压力测试工具启动命令start_performance_scripts,
+# 确认填写后
+# CentOS/中标麒麟/SUSE/openEuler:使用root用户执行,sh compatibility_testing.sh。
+# Ubuntu/银河麒麟/UOS:使用root用户执行,bash compatibility_testing.sh。
+# 多节点集群部署,在每台节点服务器上配置对自身节点和其他所有节点的SSH免密登录。并在控制节点(主节点)执行脚本。
+###################################################################################
+
+# 待测试应用软件进程名称,多个应用名称以逗号隔开。
+# 可通过ps或者docker top 命令CMD所在列查找后台进程名称, Kubernetes集群环境下填写Pod名称。
+application_names= test1 #请填写应用启动后的进程名
+# 待测试应用软件启动命令,多个应用的启动命令以逗号隔开。
+start_app_commands= nohup python3 /xxx/test1.py & # 如果是多行命令请写到脚本里,由脚本拉起,如果命令不是后台运行,请添加nohup参数变成后台运行
+# 待测试应用软件停止命令,多个应用的停止命令以逗号隔开。
+stop_app_commands= # 应用软件停止命令
+# 被测应用软件的压力测试工具启动命令。
+start_performance_scripts= nohup python3 /home/lj/test2.py &
+# Kubernetes集群填写"Y"。其他环境可置空。
+kubernetes_env=
+
+# 以下为多节点集群部署填写,单机(单节点)部署不需要填写。
+# 集群环境的IP地址列表,多个IP地址以逗号隔开,列表不应包括当前脚本所在服务器IP地址,请勿增加。
+cluster_ip_lists=
+
+# 以下为Validated认证测试填写,Compatible认证测试不需要填写。
+# CVE漏洞扫描目录,多个目录以逗号隔开,Validated认证测试有自己的CVE漏洞检查工具不需要填写。
+# 集群环境下, 非当前脚本所在服务器的目录填写为"IP:目录", 如192.168.2.2:/root/tomcat
+cve_scan_path=
+# clamav防病毒扫描目录,多个目录以逗号隔开,Validated认证测试有自己的商用杀毒软件不需要填写。
+# 集群环境下, 非当前脚本所在服务器的目录填写为"IP:目录", 如192.168.2.2:/root/tomcat
+clamav_scan_path=
+
+# 以下为HPC应用方案认证填写,HPC应用测试填写"Y",其他应用认证测试可置空。
+hpc_certificate=
+
+# 以下为C/C++编译的应用填写,请填写待测试应用二进制文件的绝对路径。
+binary_file=
+
+```
+
+
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf"
index 02fc3958a77df333974bbb54f92002b45172447a..d23601389ff64cc68ccc12994df4c410ec6fba24 100644
Binary files "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf" and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\273\245\345\217\212\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.pdf" differ
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\256.png" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\256.png"
new file mode 100644
index 0000000000000000000000000000000000000000..615b146abe2dcc85d872d9314fbff84074b866e0
Binary files /dev/null and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\256.png" differ
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2562.png" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2562.png"
new file mode 100644
index 0000000000000000000000000000000000000000..96a2cb8d5d83ae93b8c1ff3cff01f5bf7291d08f
Binary files /dev/null and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2562.png" differ
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2563.png" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2563.png"
new file mode 100644
index 0000000000000000000000000000000000000000..47ad73400149fdfc2334f9eab9d46198a5136ce8
Binary files /dev/null and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2563.png" differ
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2564.png" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2564.png"
new file mode 100644
index 0000000000000000000000000000000000000000..9f6f67001db7faeb51f93abd7d4ffcc77188ef17
Binary files /dev/null and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2564.png" differ
diff --git "a/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2565.png" "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2565.png"
new file mode 100644
index 0000000000000000000000000000000000000000..6fc5ac3e780ffb249a8fc1aae1a4b315674a25ba
Binary files /dev/null and "b/document/lkp-test\345\256\211\350\243\205\351\203\250\347\275\262/images/gitlab\345\210\233\345\273\272\351\241\271\347\233\2565.png" differ
diff --git a/tools/download_dependency/lkp_help/lkp_test_download.sh b/tools/download_dependency/lkp_help/lkp_test_download.sh
index cacf7f48258c733e1a42c91c498e70d8dfe73c68..dd0b99e1bd1084a37c2d7f0d2dc4f27e531118b1 100644
--- a/tools/download_dependency/lkp_help/lkp_test_download.sh
+++ b/tools/download_dependency/lkp_help/lkp_test_download.sh
@@ -6,12 +6,7 @@ current_dir=$(cd $(dirname $0); pwd)
function main() {
upload_path=$1
cd ${current_dir}
- git clone https://gitee.com/wu_fengguang/lkp-tests.git
- cd lkp-tests
- git apply ${current_dir}/devkit-pipeline.patch
- /bin/cp -rf ${current_dir}/compatibility-test ${current_dir}/lkp-tests/programs/compatibility-test
- cd ${current_dir}/
- tar -zcvf lkp-tests.tar.gz ./lkp-tests
+ wget -c https://gitee.com/jerry-553/lkp_test_devkitpipeline/releases/download/lkp-all-resource/lkp-tests.tar.gz
/bin/cp -rf lkp-tests.tar.gz ${upload_path}
}