From 4e0ba52a08d8a9707ac2efe5df812f4e27d12653 Mon Sep 17 00:00:00 2001 From: "zhangtaibo.ztb" Date: Thu, 31 Oct 2024 21:55:47 +0800 Subject: [PATCH 1/6] add anolis23.2's test plan --- .../20241031210015.jpg" | Bin 0 -> 69139 bytes ...13\350\257\225\350\256\241\345\210\222.md" | 166 ++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 "sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/20241031210015.jpg" create mode 100644 "sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" diff --git "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/20241031210015.jpg" "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/20241031210015.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..5748651a6c31ac394fc423ed5ef10c1fa3a2aaed GIT binary patch literal 69139 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�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 hh{AXQFYSWvsFixfeF`iiR}OY literal 0 HcmV?d00001 diff --git "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" new file mode 100644 index 00000000..12c1d196 --- /dev/null +++ "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" @@ -0,0 +1,166 @@ +# 项目信息 + +本次发布23.2 GA版本。主要包含统信玲珑新特性、海光4号支持Dharma 虚拟化组件、支持Developer Toolset等多个新特性。具体可以看本次版本的发布计划,[Anolis 23.2 发布计划链接](https://gitee.com/anolis/community/blob/master/sig/sig-distro/content/articles/AnolisOS-23.2-%E5%8F%91%E5%B8%83%E8%AE%A1%E5%88%92%E5%92%8C%E5%9F%BA%E7%BA%BF%E9%80%89%E5%9E%8B.md) + +- 版本里程碑计划 + ![输入图片说明](20241031210015.jpg) +- 版本release notes(含特性列表):待输出 + +# 人员信息 + +## 龙蜥 + +- Anolis 23.2 开发Owner:台辅 +- 6.6 内核开发Owner:人玉 +- 测试Owner:云孟 + +## 联合厂商 + +- 统信:杨晓炫、孙庆玮 +- 龙芯:李倩雯 +- 海光:冯浩、廖荣、李伟 +- 浪潮:窦志冲 +- 方德:金逊良 +- 曙光:段廷银 + +# 版本发布交付物 + +## 镜像 + +ISO镜像 + vhd镜像 + qcow2镜像 + 容器镜像 + 精简镜像 + +## 内核 + +ANCK-6.6.2版本内核 + +# 测试对象 + +## 核心特性 + +- 龙蜥操作系统增加对Developer Toolset的支持 +- Anolis 23.2引入玲珑新特性 +- 海光平台:支持海光四号 Dharma 虚拟化组件的适配 +- 增加Devel 仓 +- Anolis OS 23.1 post 和 23.2 中引入 python310 兼容包 + +## 测试镜像 + +### RC1测试镜像 + +- ISO镜像: + + - x86(boot+dvd): + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ + - arm(boot+dvd): + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ + - loongarch + - 待出 +- VHD镜像: + + - x86 + - 待出 + - arm + - 待出 +- qcow2镜像: + + - x86 + + - 待出 + - arm + + - 待出 +- 容器镜像: + + docker pull anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/anolis-docker-images/docker-temp:23.2 +- 测试Repo(所有测试前先配置测试repo,关闭默认的repo): + + - kernel 包在os的repo中可以找到。 + - x86 + - os: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/os/x86_64/os/ + - dde: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/DDE/x86_64/os/ + - devel: https://mirrors.openanolis.cn/anolis/23/Nightly/Devel/ + - arm + - os: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/os/aarch64/os/ + - dde: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/DDE/aarch64/os/ + - devel: https://mirrors.openanolis.cn/anolis/23/Nightly/Devel/ + - loongarch64 + - 待出 + +### RC2测试镜像 + +- 待出 + +## 测试内核 + +镜像中自带内核,或在os的repo中可以找到。 + +# 测试覆盖 + +备注: + +- 本次测试尽量都在社区T-One执行运行,有成熟的测试套,机器接入后可直接运行,也方便展示和记录。 +- 由于机器资源原因,龙蜥覆盖通用机型和通用特性。各厂商保证自身交付机型和特性。 + +## 龙蜥测试覆盖 + +| **分类** | **测试项** | **说明** | **owner** | +| --------------- | ---------------------------------- | ------------------------------------------------------------------------- | --------------- | +| 内核 | 功能测试 | 社区内核功能nightly测试套回归测试 | 云孟 | +| | 稳定性测试 | 系统压力7*24小时,覆盖x86_64、aarch64两种架构(物理机) | 云孟 | +| 软件包 | 软件包冒烟测试(anolis-pkg-smoke) | 覆盖测试repo里所有软件包安装、卸载 | 云孟 | +| | 软件包功能用例(anolis-sys-tests) | 覆盖WXB指定200+核心软件包 | 云孟 | +| | 软件兼容性测试 | 覆盖生态软件基础功能 | 云孟 | +| 镜像 | VHD镜像冒烟测试 | 覆盖多实例启动、基础功能 | 云孟 | +| | ISO镜像机型安装启动+硬件兼容性测试 | 覆盖物理机安装启动、ancert硬件兼容性(机型重点SPR、倚天、云谷实验室机型) | 云孟 | +| | docker镜像启动测试 | 按照容器镜像CI测试覆盖 | 云孟 | +| | 桌面测试 | 桌面基本功能 | 云孟 | +| Develop Toolset | Develop Toolset基本功能测试 | Develop Toolset基本功能测试 | 云孟 | +| Devel 仓 | Devel 仓软件包smoke测试 | Devel 仓的所有软件包安装卸载 | 云孟 | +| Python 3.10 | Python 3.10兼容性测试 | 验证Python 3.10与默认Python的兼容性 | 云孟 | +| Release Note | Release Note的新增特性确认测试 | 确认Release Note 发布的内容是否正确 | 云孟 | + +## 联合厂商测试覆盖 + +覆盖厂商自身重点交付机型 + +| **分类** | **测试项** | **说明** | **owner** | +| -------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------- | +| 内核 | 功能测试 | 社区内核功能nightly测试套 | ALL | +| | 内核稳定性测试 | 7*24小时压力 | ALL | +| 系统功能 | 系统核心功能测试 | 参考社区OS测试标准:[https://openanolis.cn/sig/QA/doc/764694623494967926](https://openanolis.cn/sig/QA/doc/764694623494967926) | ALL | +| 镜像 | ISO镜像安装启动测试 | 安装过程中的功能点验证(时区、语言、分区、软件选择等) | ALL | +| | docker镜像启动测试 | 容器的基本启动测试 | ALL | +| 硬件兼容性 | 硬件兼容性测试 | 运行社区ancert硬件兼容性测试套,结果提交到社区 | ALL | +| 桌面 | gnome桌面测试 | 默认gnome桌面基本功能 | ALL | +| | DDE桌面测试 | DDE桌面测试 | 统信 | +| 玲珑特性 | 统信玲珑特性 | 玲珑特性功能测试 | 统信 | +| Dharma 虚拟化 | Dharma 虚拟化组件测试 | 覆盖海光4号Dharma 虚拟化组件测试 | 海光 | + +# 测试计划 + +- RC1测试:全量测试 +- RC2测试:问题回归、基础功能测试 +- 发布版本测试:基本启动测试 + +RC1:2024.10.30 - 2024.11.30 + +RC2:2024.12.01 - 2024.12.15 + +GA 版本发布:2024.12.31 + +# 提单规范 + +- 提单地址 + - BaseOS:[https://bugzilla.openanolis.cn/describecomponents.cgi?product=Anolis%20OS%2023](https://bugzilla.openanolis.cn/describecomponents.cgi?product=Anolis%20OS%2023) + - Kerne了(ANCK):[https://bugzilla.openanolis.cn/describecomponents.cgi?product=ANCK%205.10%20Dev](https://bugzilla.openanolis.cn/describecomponents.cgi?product=ANCK%205.10%20Dev) +- 标题规范: + - 所有bug标题里统一加上[Anolis23.2][RCx]前缀 +- 指派人员: + - 内核问题指派给人玉,bugzilla id:renyu.zj@linux.alibaba.com + - 其他镜像、软件包问题指派给台辅,bugzilla id:gc-taifu@linux.alibaba.com + +# 测试报告 + +可以参考原有的报告: +[https://openanolis.cn/sig/QA/doc/723476627359678479](https://openanolis.cn/sig/QA/doc/723476627359678479), +内容包含测试概述、测试计划、测试环境、测试内容、测试结果,本次需要额外补充测试发现的问题,需要清楚地展示测试发现了哪些问题、解决了哪些、哪些未解决、未解决的原因和结论。 -- Gitee From 9e67846c9b4b24c5d85a16814d3e0d079eaa242c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=AD=9F?= Date: Thu, 31 Oct 2024 14:09:02 +0000 Subject: [PATCH 2/6] =?UTF-8?q?update=20sig/QA/content/=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=AE=A1=E5=88=92/Anolis=20OS=2023.2=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 云孟 --- ...34\254\346\265\213\350\257\225\350\256\241\345\210\222.md" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" index 12c1d196..14ad5b2e 100644 --- "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" +++ "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" @@ -3,7 +3,9 @@ 本次发布23.2 GA版本。主要包含统信玲珑新特性、海光4号支持Dharma 虚拟化组件、支持Developer Toolset等多个新特性。具体可以看本次版本的发布计划,[Anolis 23.2 发布计划链接](https://gitee.com/anolis/community/blob/master/sig/sig-distro/content/articles/AnolisOS-23.2-%E5%8F%91%E5%B8%83%E8%AE%A1%E5%88%92%E5%92%8C%E5%9F%BA%E7%BA%BF%E9%80%89%E5%9E%8B.md) - 版本里程碑计划 - ![输入图片说明](20241031210015.jpg) + +![输入图片说明](20241031210015.jpg) + - 版本release notes(含特性列表):待输出 # 人员信息 -- Gitee From 7f5a76fd06b2bc83751568ebca75cc519e7f9f87 Mon Sep 17 00:00:00 2001 From: "zhangtaibo.ztb" Date: Fri, 1 Nov 2024 10:26:27 +0800 Subject: [PATCH 3/6] chan kernel owner from renyu to banye --- ...13\350\257\225\350\256\241\345\210\222.md" | 88 ++++++++++--------- 1 file changed, 48 insertions(+), 40 deletions(-) diff --git "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" index 14ad5b2e..2c5799b0 100644 --- "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" +++ "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" @@ -13,14 +13,14 @@ ## 龙蜥 - Anolis 23.2 开发Owner:台辅 -- 6.6 内核开发Owner:人玉 +- 6.6 内核开发Owner:半叶 - 测试Owner:云孟 ## 联合厂商 -- 统信:杨晓炫、孙庆玮 +- 统信:马涛涛 - 龙芯:李倩雯 -- 海光:冯浩、廖荣、李伟 +- 海光:冯浩、李伟、方保顺 - 浪潮:窦志冲 - 方德:金逊良 - 曙光:段廷银 @@ -53,24 +53,28 @@ ANCK-6.6.2版本内核 - x86(boot+dvd): - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ + - 请用**1101-update的ISO镜像** - arm(boot+dvd): - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ + - 请用**1101-update的ISO镜像** - loongarch - 待出 - VHD镜像: - x86 - - 待出 + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ + - 使用qcow2镜像转vhd即可,参考命令 + - **qemu-img convert -f qcow2 -O vpc xxx.qcow2 xxx.vhd** - arm - - 待出 + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ - qcow2镜像: - x86 - - 待出 + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ - arm - - 待出 + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC1/ - 容器镜像: docker pull anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/anolis-docker-images/docker-temp:23.2 @@ -78,12 +82,12 @@ ANCK-6.6.2版本内核 - kernel 包在os的repo中可以找到。 - x86 - - os: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/os/x86_64/os/ - - dde: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/DDE/x86_64/os/ + - os: https://build.openanolis.cn/kojifiles/output/anolis-23-20241101.0/compose/os/x86_64/os/ + - dde: https://build.openanolis.cn/kojifiles/output/anolis-23-20241101.0/compose/DDE/x86_64/os/ - devel: https://mirrors.openanolis.cn/anolis/23/Nightly/Devel/ - arm - - os: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/os/aarch64/os/ - - dde: https://build.openanolis.cn/kojifiles/output/anolis-23-20241031.0/compose/DDE/aarch64/os/ + - os: https://build.openanolis.cn/kojifiles/output/anolis-23-20241101.0/compose/os/aarch64/os/ + - dde: https://build.openanolis.cn/kojifiles/output/anolis-23-20241101.0/compose/DDE/aarch64/os/ - devel: https://mirrors.openanolis.cn/anolis/23/Nightly/Devel/ - loongarch64 - 待出 @@ -105,38 +109,42 @@ ANCK-6.6.2版本内核 ## 龙蜥测试覆盖 -| **分类** | **测试项** | **说明** | **owner** | -| --------------- | ---------------------------------- | ------------------------------------------------------------------------- | --------------- | -| 内核 | 功能测试 | 社区内核功能nightly测试套回归测试 | 云孟 | -| | 稳定性测试 | 系统压力7*24小时,覆盖x86_64、aarch64两种架构(物理机) | 云孟 | -| 软件包 | 软件包冒烟测试(anolis-pkg-smoke) | 覆盖测试repo里所有软件包安装、卸载 | 云孟 | -| | 软件包功能用例(anolis-sys-tests) | 覆盖WXB指定200+核心软件包 | 云孟 | -| | 软件兼容性测试 | 覆盖生态软件基础功能 | 云孟 | -| 镜像 | VHD镜像冒烟测试 | 覆盖多实例启动、基础功能 | 云孟 | -| | ISO镜像机型安装启动+硬件兼容性测试 | 覆盖物理机安装启动、ancert硬件兼容性(机型重点SPR、倚天、云谷实验室机型) | 云孟 | -| | docker镜像启动测试 | 按照容器镜像CI测试覆盖 | 云孟 | -| | 桌面测试 | 桌面基本功能 | 云孟 | -| Develop Toolset | Develop Toolset基本功能测试 | Develop Toolset基本功能测试 | 云孟 | -| Devel 仓 | Devel 仓软件包smoke测试 | Devel 仓的所有软件包安装卸载 | 云孟 | -| Python 3.10 | Python 3.10兼容性测试 | 验证Python 3.10与默认Python的兼容性 | 云孟 | -| Release Note | Release Note的新增特性确认测试 | 确认Release Note 发布的内容是否正确 | 云孟 | + +| **分类** | **测试项** | **说明** | **owner** | +| --------------- | ---------------------------------- | ------------------------------------------------------- | --------- | +| 内核 | 功能测试 | 社区内核功能nightly测试套回归测试 | 云孟 | +| | 性能测试 | 社区内核性能nightly测试套 | 云孟 | +| | 稳定性测试 | 系统压力7*24小时,覆盖x86_64、aarch64两种架构(物理机) | 云孟 | +| 软件包 | 软件包冒烟测试(anolis-pkg-smoke) | 覆盖测试repo里所有软件包安装、卸载 | 云孟 | +| | 软件包功能用例(anolis-sys-tests) | 覆盖重点200+核心软件包 | 云孟 | +| | 软件兼容性测试 | 覆盖生态软件基础功能 | 云孟 | +| 镜像 | VHD镜像冒烟测试 | 覆盖多实例启动、基础功能 | 云孟 | +| | ISO镜像机型安装启动+硬件兼容性测试 | 覆盖物理机安装启动、ancert硬件兼容性(内部已有机型) | 云孟 | +| | docker镜像启动测试 | 按照容器镜像CI测试覆盖 | 云孟 | +| | 桌面测试 | 桌面基本功能 | 云孟 | +| Develop Toolset | Develop Toolset基本功能测试 | Develop Toolset基本功能测试 | 云孟 | +| Devel 仓 | Devel 仓软件包smoke测试 | Devel 仓的所有软件包安装卸载 | 云孟 | +| Python 3.10 | Python 3.10兼容性测试 | 验证Python 3.10与默认Python的兼容性 | 云孟 | +| Release Note | Release Note的新增特性确认测试 | 确认Release Note 发布的内容是否正确 | 云孟 | ## 联合厂商测试覆盖 覆盖厂商自身重点交付机型 -| **分类** | **测试项** | **说明** | **owner** | -| -------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------- | -| 内核 | 功能测试 | 社区内核功能nightly测试套 | ALL | -| | 内核稳定性测试 | 7*24小时压力 | ALL | -| 系统功能 | 系统核心功能测试 | 参考社区OS测试标准:[https://openanolis.cn/sig/QA/doc/764694623494967926](https://openanolis.cn/sig/QA/doc/764694623494967926) | ALL | -| 镜像 | ISO镜像安装启动测试 | 安装过程中的功能点验证(时区、语言、分区、软件选择等) | ALL | -| | docker镜像启动测试 | 容器的基本启动测试 | ALL | -| 硬件兼容性 | 硬件兼容性测试 | 运行社区ancert硬件兼容性测试套,结果提交到社区 | ALL | -| 桌面 | gnome桌面测试 | 默认gnome桌面基本功能 | ALL | -| | DDE桌面测试 | DDE桌面测试 | 统信 | -| 玲珑特性 | 统信玲珑特性 | 玲珑特性功能测试 | 统信 | -| Dharma 虚拟化 | Dharma 虚拟化组件测试 | 覆盖海光4号Dharma 虚拟化组件测试 | 海光 | + +| **分类** | **测试项** | **说明** | **owner** | +| ------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------- | +| 内核 | 功能测试 | 社区内核功能nightly测试套 | ALL | +| | 性能测试 | 社区内核性能nightly测试套 | ALL | +| | 稳定性测试 | 7*24小时压力 | ALL | +| 系统功能 | 系统核心功能测试 | 参考社区OS测试标准:[https://openanolis.cn/sig/QA/doc/764694623494967926](https://openanolis.cn/sig/QA/doc/764694623494967926) | ALL | +| 镜像 | ISO镜像安装启动测试 | 安装过程中的功能点验证(时区、语言、分区、软件选择等) | ALL | +| | docker镜像启动测试 | 容器的基本启动测试 | ALL | +| 硬件兼容性 | 硬件兼容性测试 | 运行社区ancert硬件兼容性测试套,结果提交到社区 | ALL | +| 桌面 | gnome桌面测试 | 默认gnome桌面基本功能 | ALL | +| | DDE桌面测试 | DDE桌面测试 | 统信 | +| 玲珑特性 | 统信玲珑特性 | 玲珑特性功能测试 | 统信 | +| Dharma 虚拟化 | Dharma 虚拟化组件测试 | 覆盖海光4号Dharma 虚拟化组件测试 | 海光 | # 测试计划 @@ -156,9 +164,9 @@ GA 版本发布:2024.12.31 - BaseOS:[https://bugzilla.openanolis.cn/describecomponents.cgi?product=Anolis%20OS%2023](https://bugzilla.openanolis.cn/describecomponents.cgi?product=Anolis%20OS%2023) - Kerne了(ANCK):[https://bugzilla.openanolis.cn/describecomponents.cgi?product=ANCK%205.10%20Dev](https://bugzilla.openanolis.cn/describecomponents.cgi?product=ANCK%205.10%20Dev) - 标题规范: - - 所有bug标题里统一加上[Anolis23.2][RCx]前缀 + - 所有bug标题里统一加上[Anolis23.2][RCx][厂商]前缀 - 指派人员: - - 内核问题指派给人玉,bugzilla id:renyu.zj@linux.alibaba.com + - 内核问题指派给半叶,bugzilla id:qinyuntan@linux.alibaba.com[ - 其他镜像、软件包问题指派给台辅,bugzilla id:gc-taifu@linux.alibaba.com # 测试报告 -- Gitee From 81bb36cc9bd8c822c56b9766870c96240ea1a17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=AD=9F?= Date: Fri, 6 Dec 2024 08:24:06 +0000 Subject: [PATCH 4/6] =?UTF-8?q?update=20sig/QA/content/=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=AE=A1=E5=88=92/Anolis=20OS=2023.2=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 云孟 --- ...13\350\257\225\350\256\241\345\210\222.md" | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" index 2c5799b0..1130ed6c 100644 --- "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" +++ "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" @@ -94,7 +94,42 @@ ANCK-6.6.2版本内核 ### RC2测试镜像 -- 待出 +- ISO镜像: + + - x86(boot+dvd): + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ + - arm(boot+dvd): + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ + - loongarch + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ +- VHD镜像: + + - x86 + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ + - 使用qcow2镜像转vhd即可,参考命令 + - **qemu-img convert -f qcow2 -O vpc xxx.qcow2 xxx.vhd** + - arm + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ +- qcow2镜像: + + - x86 + + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ + - arm + + - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ +- 容器镜像: + + docker pull anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/anolis-docker-images/docker-temp:23.2 + +- 测试Repo(所有测试前先配置测试repo,关闭默认的repo): + - x86(boot+dvd): + - https://build.openanolis.cn/kojifiles/output/anolis-23-20241130.0/compose/os/ + - arm(boot+dvd): + - https://build.openanolis.cn/kojifiles/output/anolis-23-20241130.0/compose/os/ + - loongarch + - https://build.openanolis.cn/kojifiles/output/anolis-23-20241130.1/compose/os/ + ## 测试内核 -- Gitee From e8cdceef97c21de4eb6d793df2d708698ca351be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=AD=9F?= Date: Wed, 11 Dec 2024 02:17:22 +0000 Subject: [PATCH 5/6] =?UTF-8?q?update=20sig/QA/content/=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=AE=A1=E5=88=92/Anolis=20OS=2023.2=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 云孟 --- ...6\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" index 1130ed6c..545ef484 100644 --- "a/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" +++ "b/sig/QA/content/\346\265\213\350\257\225\350\256\241\345\210\222/Anolis OS 23.2 \347\211\210\346\234\254\346\265\213\350\257\225\350\256\241\345\210\222.md" @@ -102,6 +102,7 @@ ANCK-6.6.2版本内核 - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ - loongarch - https://build.openanolis.cn/kojifiles/rsync/anolis/23.2/isos/RC2/ + - 12.9: https://build.openanolis.cn/kojifiles/output/nightly/anolis-23-20241209.4/compose/os/loongarch64/iso/ - VHD镜像: - x86 -- Gitee From 228578263b3e999fc8ee179edadccefee02403c0 Mon Sep 17 00:00:00 2001 From: "zhangtaibo.ztb" Date: Wed, 23 Apr 2025 16:42:37 +0800 Subject: [PATCH 6/6] add an23.2 test report to master --- ...13\350\257\225\346\212\245\345\221\212.md" | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 "sig/QA/content/\346\265\213\350\257\225\346\212\245\345\221\212/Anolis OS 23.2\347\211\210\346\234\254\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/sig/QA/content/\346\265\213\350\257\225\346\212\245\345\221\212/Anolis OS 23.2\347\211\210\346\234\254\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/sig/QA/content/\346\265\213\350\257\225\346\212\245\345\221\212/Anolis OS 23.2\347\211\210\346\234\254\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 00000000..82f20d8c --- /dev/null +++ "b/sig/QA/content/\346\265\213\350\257\225\346\212\245\345\221\212/Anolis OS 23.2\347\211\210\346\234\254\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,185 @@ +# 测试概述 + +针对Anolis OS 23.2版本进行测试验证,该版本交付物为: + +- ISO安装镜像:适用于物理机和虚拟机的OS系统安装镜像(dvd、boot) +- QCOW2虚拟机镜像:适用于虚拟化部署,作为初始镜像 +- Docker容器镜像:适用于容器部署 + +# 测试环境 + +## 软件环境 + +- 镜像:Anolis OS 23.2 ISO、Qcow2、Docker +- 内核:ANCK-6.6.25-2.2 +- 架构:x86_64、aarch64、loongarch64 + +## 物理机环境 + +| **机器** | **架构** | **处理器** | **备注** | +| ----------- | ----------- | ---------------------------------------------------------------------------------------------------- | -------- | +| 飞腾服务器 | aarch64 | S5000C | | +| 海光服务器 | x86_64 | 海光4号 | | +| 鲲鹏服务器 | aarch64 | Kunpeng-920 | | +| 磐久服务器 | aarch64 | yitian710 | | +| 龙芯服务器 | loongarch64 | Loongson-3C5000 | | +| Intel服务器 | x86_64 | Intel Xeon Platinum 8475BIntel Xeon(Ice Lake) Platinum 8369BIntel Xeon(Cascade Lake) Platinum 8269CY | | +| AMD服务器 | x86_64 | AMD EPYC™ ROME 7H12AMD EPYC™ Milan 7T83AMD EPYC 9T34 | | + +## 虚拟机环境 + +| **类型** | **主要用途** | **备注** | +| --------- | ------------------------------------ | -------------------------------- | +| KVM虚拟机 | 虚拟机安装、系统基础功能、稳定性验证 | 包含x86_64、aarch64和loongarch64 | + +# 测试内容 + +| **类型** | **测试项** | **描述** | Owner | +| ------------ | ------------------------------ | ---------------------------------------------------------------------------------------------------- | --------------------------------------- | +| 功能测试 | 内核功能 | 社区内核功能nightly测试套回归测试 | ALL | +| | 安装部署 | 包括不同硬件机型安装测试,以及安装过程中的功能点验证(时区、语言、分区、软件选择等) | ALL | +| | 软件包 | 全量软件包安装卸载、覆盖anolis23 200+核心软件包功能测试 | 云孟(阿里云) | +| | 图形桌面 | 测试默认GNOME桌面 | 云孟(阿里云)/马涛涛(统信) /李倩雯(龙芯) | +| | 虚拟化支持 | KVM虚拟化支持 | 云孟(阿里云)/冯浩(海光)/李倩雯(龙芯) | +| | Dharma 虚拟化 | 覆盖海光4号Dharma 虚拟化组件测试 | 冯浩(海光) | +| | 容器支持 | Docker容器支持 | 云孟(阿里云)/冯浩(海光)/李倩雯(龙芯) | +| | DDE图形桌面 | DDE桌面全量测试 | 马涛涛(统信) | +| | Develop Toolset | Develop Toolset基本功能测试 | 云孟(阿里云) | +| | Devel 仓 | Devel 仓的所有软件包安装卸载 | 云孟(阿里云) | +| | Python 3.10 | 验证Python 3.10与默认Python的兼容性 | 云孟(阿里云) | +| | 玲珑特性 | 玲珑特性功能测试 | 马涛涛(统信) | +| 性能测试 | 主流Benchmark性能测试 | 社区主流Benchmark | ALL | +| 兼容性测试 | 硬件兼容性 | Intel、AMD、鲲鹏、海光、飞腾、倚天、龙芯等CPU平台支持SSD、NIC、RAID、GPU等硬件支持测试结果提交到社区 | ALL | +| | 软件兼容性 | MySQL、nginx、Kubernetes、ceph、postgresql等生态软件 | 云孟(阿里云) | +| 稳定性测试 | 7x24小时压力测试(最少3x24h) | 需要覆盖x86_64/aarch64/loongarch64平台及各个硬件机型 | ALL | +| Release Note | Release Note的新增特性确认测试 | 确认Release Note 发布的内容是否正确 | 云孟(阿里云) | + +# 验收标准 + +- 镜像测试:所有支持的机型可以正常安装运行,虚拟机镜像可以正常部署且系统启动正常,容器镜像可以正常启动并运行正常 +- 基础功能测试:没有严重的功能问题 +- 稳定性测试:7x24小时连续压力情况下不存在系统宕机,压力结束后系统工作正常 + +# 测试结果 + +## 功能测试 + +### 内核功能测试 + +| **测试项** | **测试架构** | **结果** | **备注** | +| ---------------- | ------------ | -------- | -------- | +| ltp | x86_64 | PASS | | +| | aarch64 | PASS | | +| | loongarch64 | PASS | | +| perf-tests | x86_64 | PASS | | +| | aarch64 | PASS | | +| | loongarch64 | PASS | | +| kernel-selftests | x86_64 | PASS | | +| | aarch64 | PASS | | +| | loongarch64 | PASS | | +| xfstests | x86_64 | PASS | | +| | aarch64 | PASS | | +| | loongarch64 | PASS | | + +### 安装测试 + +| **测试项** | **测试子项** | **结果** | **备注** | +| ---------- | ------------------------------ | -------- | -------- | +| ISO | AnolisOS-23.2-${ARCH}-dvd.iso | PASS | | +| | AnolisOS-23.2-${ARCH}-boot.iso | PASS | | +| 安装方式 | 本地安装 | PASS | | +| | 网络安装 | PASS | | +| 语言设置 | 中文 | PASS | | +| | 英文 | PASS | | +| 时区设置 | Shanghai | PASS | | +| 软件配置 | 带GUI的服务器 | PASS | | +| | min install | PASS | | +| | 定制化操作系统 | PASS | | +| 内核 | ANCK-6.6 | PASS | | +| 系统分区 | 传统分区 | PASS | | +| 文件系统 | EXT4 | PASS | | +| 口令设置 | root口令设置 | PASS | | +| 用户设置 | 增加普通用户 | PASS | | +| 系统登录 | 安装完成后重启进系统 | PASS | | + +### 系统基础功能测试 + +| **测试项** | **测试子项** | **结果** | **备注** | +| ---------------------- | ------------------------------- | -------- | -------- | +| 用户操作 | 切换root用户 | PASS | | +| | 创建用户 | PASS | | +| | 图形化用户操作 | PASS | | +| 系统服务检查 | systemclt --failed | PASS | | +| dmesg检查 | dmesg -l err -Tdmesg -l warn -T | PASS | | +| yum检查 | 软件安装检查 | PASS | | +| kdump检查 | kdump功能检查 | PASS | | +| 桌面功能 | 桌面基本使用 | PASS | | +| DDE | DDE桌面基本使用 | PASS | | +| 软件包测试 | 全量软件包基础功能检查 | PASS | | +| 虚拟化能力 | 物理机启动虚拟机测试 | PASS | | +| 虚拟化环境下的功能测试 | ISO安装 | PASS | | +| | 功能测试 | PASS | | +| | 稳定性 | PASS | | +| 容器功能 | 启动容器 | PASS | | + +## 稳定性测试 + +### x86_64 + +- ltp-stress + - ANCK-6.6: 7x24h 无异常 +- 机型覆盖:海光,Intel, AMD + +### aarch64 + +- ltp-stress + - ANCK-6.6: 7x24h 无异常 +- 机型覆盖:倚天710,飞腾,鲲鹏 + +### loongarch64 + +- ltp-stress: 7x24h 无异常 +- 机型覆盖:龙芯 + +## + +## 兼容性测试 + +### 硬件兼容性 + +测试覆盖完成,通过 + +### 软件兼容性 + +| **测试项** | **架构覆盖** | **结果** | **备注** | +| ------------- | -------------------------- | -------- | -------- | +| ActiveMQ | x86_64/aarch64/loongarch64 | PASS | | +| docker-ce | x86_64/aarch64 | PASS | | +| tomcat | x86_64/aarch64/loongarch64 | PASS | | +| Dragonwell | x86_64/aarch64/loongarch64 | PASS | | +| ElasticSearch | x86_64/aarch64 | PASS | | +| Flink | x86_64/aarch64/loongarch64 | PASS | | +| Hadoop | x86_64/aarch64 | PASS | | +| httpd | x86_64/aarch64/loongarch64 | PASS | | +| Kafka | x86_64/aarch64/loongarch64 | PASS | | +| Kubernetes | x86_64/aarch64 | PASS | | +| KVM | x86_64/aarch64/loongarch64 | PASS | | +| MariaDB | x86_64/aarch64/loongarch64 | PASS | | +| Memcache | x86_64/aarch64/loongarch64 | PASS | | +| MySQL | x86_64/aarch64/loonarch64 | PASS | | +| nginx | x86_64/aarch64/loongarch64 | PASS | | +| NodeJS | x86_64/aarch64 | PASS | | +| php | x86_64/aarch64/loongarch64 | PASS | | +| podman | x86_64/aarch64/loongarch64 | PASS | | +| PolarDB | x86_64/aarch64 | PASS | | +| Spark | x86_64/aarch64 | PASS | | +| PostgreSQL | x86_64/aarch64/loongarch64 | PASS | | +| Ceph | x86_64/aarch64 | PASS | | +| redis | x86_64/aarch64/loongarch64 | PASS | | +| vsftp | x86_64/aarch64/loongarch64 | PASS | | + +# 遗留问题 + +遗留部分优先级不高的安装和桌面问题,详细见链接: +[Release Note 已知问题章节](https://gitee.com/anolis/anolis-docs/blob/master/PRODUCT_DOCS/Anolis%20OS%20%E5%8F%91%E8%A1%8C%E5%A3%B0%E6%98%8E/Anolis%20OS%2023.2%20%E7%A4%BE%E5%8C%BA%E7%89%88%20(GA)%20%E5%8F%91%E8%A1%8C%E5%A3%B0%E6%98%8E.md#4%E5%B7%B2%E7%9F%A5%E9%97%AE%E9%A2%98) + -- Gitee