From 22cda7d9febf1e51b47860ed5a36298fea105101 Mon Sep 17 00:00:00 2001 From: Jacob Date: Tue, 7 Feb 2023 15:14:29 +0800 Subject: [PATCH 1/3] create kernel nightly function test flow --- .../assets/KernelNightlyFlow.png" | Bin 0 -> 28491 bytes ...203\275nightly\346\265\213\350\257\225.md" | 33 ++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 "sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/assets/KernelNightlyFlow.png" create mode 100644 "sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" diff --git "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/assets/KernelNightlyFlow.png" "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/assets/KernelNightlyFlow.png" new file mode 100644 index 0000000000000000000000000000000000000000..200f8dca7f95823b627e9eb99b16c4f7a8f68339 GIT binary patch literal 28491 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
  • 2RB}(M?5)mAM%rGn6sj% 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 tJkkj2rIMzf{s+)l9mW6v literal 0 HcmV?d00001 diff --git "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" new file mode 100644 index 00000000..a1b5c4f6 --- /dev/null +++ "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" @@ -0,0 +1,33 @@ +# 内核功能Nightly测试 + +## 内核功能nightly测试流程 + +![内核功能nightly测试流程](assets/KernelNightlyFlow.png) + +内核功能nightly测试是以定时任务的形式,由Jenkins每天定时触发,其主要流程包括: +* Jenkins定时任务 +* Jenkins调度builder打包内核rpm包 + * builder根据设定的不同分支拉取代码:https://gitee.com/anolis/cloud-kernel + * 根据不同的分支拉取对应的内核打包工具代码:https://gitee.com/src-anolis-sig/ck-build + * 打包内核rpm包 +* Jenkins触发T-One任务 +* T-One根据测试模版,使用测试机对内核功能进行验证 + +## 测试覆盖 + +| 内核版本 | 架构 | 发行版 | 内核代码分支 | +| ------ | ---- |-------------------------------------|--------------| +| 4.19 | x86_64 | OpenAnolis OS 7
    OpenAnolis OS 8 | devel-4.19 | +| 4.19 | aarch64 | OpenAnolis OS 7
    OpenAnolis OS 8 | devel-4.19 | +| 5.10 | x86_64 | OpenAnolis OS 8 | devel-5.10 | +| 5.10 | aarch64 | OpenAnolis OS 8 | devel-5.10 | + +## 测试项 + +* kernel-selftests +* xfstests +* perf-test +* ltp + + + -- Gitee From 0e9b13d872490b046fa66fabe6225ce47241e917 Mon Sep 17 00:00:00 2001 From: Jacob Date: Tue, 7 Feb 2023 16:10:13 +0800 Subject: [PATCH 2/3] update kernel nightly func doc --- ...203\275nightly\346\265\213\350\257\225.md" | 66 ++++++++++++++++--- 1 file changed, 57 insertions(+), 9 deletions(-) diff --git "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" index a1b5c4f6..52dfb278 100644 --- "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" +++ "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" @@ -7,13 +7,12 @@ 内核功能nightly测试是以定时任务的形式,由Jenkins每天定时触发,其主要流程包括: * Jenkins定时任务 * Jenkins调度builder打包内核rpm包 - * builder根据设定的不同分支拉取代码:https://gitee.com/anolis/cloud-kernel - * 根据不同的分支拉取对应的内核打包工具代码:https://gitee.com/src-anolis-sig/ck-build - * 打包内核rpm包 * Jenkins触发T-One任务 * T-One根据测试模版,使用测试机对内核功能进行验证 -## 测试覆盖 +## 测试内容 + +### 测试覆盖 | 内核版本 | 架构 | 发行版 | 内核代码分支 | | ------ | ---- |-------------------------------------|--------------| @@ -22,12 +21,61 @@ | 5.10 | x86_64 | OpenAnolis OS 8 | devel-5.10 | | 5.10 | aarch64 | OpenAnolis OS 8 | devel-5.10 | -## 测试项 +### Jenkins任务流程 + +1. 按照不同的架构选择对应的worker节点 +2. 拉取内核代码:https://gitee.com/anolis/cloud-kernel +3. 拉取内核打包工具代码:https://gitee.com/src-anolis-sig/ck-build +4. 打包内核RPM包 +5. 创建T-One job,参数举例: + 1. 内核rpm包的URL + 2. T-One的workspace名称 + 3. T-One的job template(template中配置了需要执行的测试集) + +### T-One任务流程 + +1. 调度Jenkins下发的测试任务 +2. 根据template中的配置申请对应的测试机资源(x86_64/aarch64) +3. 在测试机上安装打包好的内核rpm并重启测试机 +4. 执行对应的测试套件 +5. 人工定时检查测试结果 + +**任务举例:** + +* 4.19 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48486 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48492 +* 5.10 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48509 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48519 + +### 测试项 + +#### kernel-selftests + +通过执行内核源码目录下的`tools/testing/selftests/`中的测试代码,对内核进行基础功能验证 + +#### xfstests + +文件系统测试,主要验证ext4和xfs文件系统的功能是否正常 + +仓库地址:https://gitee.com/anolis/xfstests.git + +#### perf-test + +内核perf工具的sanity测试 + +#### ltp + +LTP测试套包含一组用于测试Linux内核及相关功能的工具,以验证内核的可靠性、健壮性以及稳定性。 + +当前测试主要覆盖:commands,connectors,containers,controllers,cpuhotplug,crypto,cve,io,dio,fs,fsx,hugetlb,ipc,math,mm,net,nptl,pty,sched,syscalls,irq,fs_bind,filecaps,cap_bounds,fcntl-locktests,power_management_tests,hyperthreading,input,kernel_misc,uevent,watchqueue等 + +仓库地址: https://gitee.com/anolis/ltp -* kernel-selftests -* xfstests -* perf-test -* ltp +## 问题跟踪 +* 提交地址:https://bugzilla.openanolis.cn/ +* 搜索关键字:[nightly] -- Gitee From 8eda3091251a3d52b568bc92b6fa3765aa751f01 Mon Sep 17 00:00:00 2001 From: Jacob Date: Tue, 7 Feb 2023 16:19:29 +0800 Subject: [PATCH 3/3] update kernel nightly func doc --- ...0\203\275nightly\346\265\213\350\257\225.md" | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" index 52dfb278..145bfdcc 100644 --- "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" +++ "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" @@ -51,6 +51,14 @@ ### 测试项 +#### ltp + +LTP测试套包含一组用于测试Linux内核及相关功能的工具,以验证内核的可靠性、健壮性以及稳定性。 + +当前测试主要覆盖:commands,connectors,containers,controllers,cpuhotplug,crypto,cve,io,dio,fs,fsx,hugetlb,ipc,math,mm,net,nptl,pty,sched,syscalls,irq,fs_bind,filecaps,cap_bounds,fcntl-locktests,power_management_tests,hyperthreading,input,kernel_misc,uevent,watchqueue等 + +仓库地址: https://gitee.com/anolis/ltp + #### kernel-selftests 通过执行内核源码目录下的`tools/testing/selftests/`中的测试代码,对内核进行基础功能验证 @@ -65,15 +73,6 @@ 内核perf工具的sanity测试 -#### ltp - -LTP测试套包含一组用于测试Linux内核及相关功能的工具,以验证内核的可靠性、健壮性以及稳定性。 - -当前测试主要覆盖:commands,connectors,containers,controllers,cpuhotplug,crypto,cve,io,dio,fs,fsx,hugetlb,ipc,math,mm,net,nptl,pty,sched,syscalls,irq,fs_bind,filecaps,cap_bounds,fcntl-locktests,power_management_tests,hyperthreading,input,kernel_misc,uevent,watchqueue等 - -仓库地址: https://gitee.com/anolis/ltp - - ## 问题跟踪 * 提交地址:https://bugzilla.openanolis.cn/ -- Gitee