提交 aa036464 编写于 作者: E Eli Ma

Update the tasks to No.68

Signed-off-by: NEli Ma <eli@patch.sh>
上级 c212f8f5
......@@ -596,7 +596,7 @@ _联系方式_
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1I6EO
#### No.38 - 对openEuler社区发布包ipvsadm进行加固测试](https://gitee.com/openeuler/marketing/issues/I1I6F2)
#### [No.38 - 对openEuler社区发布包ipvsadm进行加固测试](https://gitee.com/openeuler/marketing/issues/I1I6F2)
_描述_
openEuler社区作为一个集成社区,发布了上千个软件包;为更好地保障各软件包提供的能力能够满足用户使用场景,除依赖原生上游社区的测试能力外,还需要进行更深层更广的测试活动。本任务从系统影响程度和用户使用场景角度出发,选取关键软件包进行测试加强活动。
......@@ -806,4 +806,429 @@ _导师_
_联系方式_
zhujianwei7@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1I7H3
\ No newline at end of file
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1I7H3
#### [No.47 - 开发 openEuler bootstrap 工具](https://gitee.com/openeuler/marketing/issues/I1HAXJ)
_描述_
借鉴 Linux From Scratch 和 crosstool-ng,开发一套自动化构建工具,该工具支持利用src.rpm源代码,从零构建 openEuler 。
一个可能的建议是,利用crosstool-ng工具,从openEuler x86_64构建 i686版本的二进制rpm。
_目标_
- 开发一套自动化构建的工具。
- 支持native和cross两种构建方式,支持新架构如i686的构建。
- 该工具可以交叉构建一个新架构i686的rootfs,该rootfs是由200-300+软件包的rpms组成。
- 基于这些rpms,可以在koji或obs上继续构建其他上层软件包。最终构建出openEuler所有支持的软件。
_思路提示_
1. 借鉴LFS,从零构建。
2. 利用[crosstool-ng](https://crosstool-ng.github.io/)
a、增加特性,使用crosstool,可以直接构建rpm
b、增加对其他基础软件支持,如krb5、openssh、bash等
c、编译的结果以目标架构的rpm呈现,如bash.i686。
_难度_
_导师_ [overweight](https://gitee.com/overweight)
_联系方式_ hexiaowen@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1HAXJ
#### [No. 48 - openEuler aarch64架构上软件包优化和集成](https://gitee.com/openeuler/marketing/issues/I1HMNS)
_描述_
为了使aarch64平台的用户能够使用上更快的openEuler,我们需要对基础库、加速库进行优化,目前[鲲鹏计算](https://github.com/kunpengcompute)已开源一系列基于aarch64的优化,也有很多加速库在上游社区完成了aarch64优化,但这些软件优化尚未集成到openEuler OS中。
这些软件包括但不限于:glibc、snappy、zstd、gzip、isa-l、hyperscan等。
我们需要完成3个工作:
1. **添加打包**
至少完成 isa-l、x265、hyperscan 等3个软件包的添加,在https://gitee.com/src-openeuler新建仓库并增加打包源代码。
2. **aarch64优化集成**
将鲲鹏优化的集成到已添加的欧拉的发布包中,至少完成glibc、snappy、isa-l、x265、hyperscan、zstd等6个优化的集成,代码合入到https://gitee.com/src-openeuler指定库。
注:优化代码可以从https://github.com/kunpengcompute获取。
3. **博客总结**
完成后,对鲲鹏优化的优化源码进行阅读,总结完成技术博客,同步发布到openEuler博客。
_难度_
_导师_
- [yikun](https://github.com/yikun)
- [derek](https://github.com/orgs/kunpengcompute/people/derekpush)
_联系方式_
- jiangyikun@huawei.com
- zhangxuelei4@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1HMNS
#### [No.49 - 基于 openEuler 的 ABI 检查工具](https://gitee.com/openeuler/marketing/issues/I1HQSE)
_标题_ No.49 - 基于 openEuler 的 ABI 检查工具
_描述_
[lvc](https://github.com/lvc) 有一系列abi的导出和分析工具。
借鉴或复用该开源工具,实现一套完整的abi检查工具。
- 该工具能否查询导出与ABI相关的信息(如API接口,头文件数据结构,配置文件,命令行选项等)。
- 该工具提供统一的框架,支持插件式扩展,前期可以支持c/c++的信息导出,后续可增加对python、perl或java等语言的支持。
- 该工具能够支持统一软件多版本二进制或源码间的abi差异对比。
- 该工具支持报告导出功能。
- 该工具易于应用在openEuler后续软件包升级的差异对比,协助开发者、maintainer评估软件升级的影响。
_难度_
_导师_
[@overweight](https://gitee.com/overweight)
_联系方式_
hexiaowen@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1HQSE
#### [No.50 - 提供 openEuler 满足 openscap 标准的安全配置基线](https://gitee.com/openeuler/marketing/issues/I1I7JW)
_描述_
OpenSCAP项目提供了由开源社区开发的各种加固指南和配置基线,确保您能够选择适合您组织需求的安全策略。当前openEuler通过安全加固工具已经提供了默认的加固内容,但为了兼容国际主流标准,需要基于openSCAP提供openEuler的安全配置基线。
具体实施策略如下:
1、熟悉openSCAP相关标准。
2、修改openSCAP软件包,指定openEuler的安全配置基线。
3、提交相应的代码
4、maintainer评审合入
_难度_
_导师_
- @zhujianwei001
- @mailofzxf
_联系方式_
zhujianwei7@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1I7JW
#### [No.51 - optee 移植到 openEuler](https://gitee.com/openeuler/marketing/issues/I1I8IS)
_标题_ No.51 - optee 移植到openEuler
_描述_ 鲲鹏芯片有 TrustZone 支持,optee 是开源的ARM trustzone OS。任务目标是把 optee OS/driver/client 移植到 openEuler 并在鲲鹏硬件平台上运行起来。
_难度_
_导师_
@blue0613
_联系方式_
gaoguijin@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1I8IS
#### [No.52 - openEuler 虚拟化调度性能评估工具及方法构建](https://gitee.com/openeuler/marketing/issues/I1I9XJ)
_描述_
云场景下,为充分利用物理资源,虚拟机通常存在CPU复用场景。虚拟化平台在此种场景下,既要保障物理资源充分利用,又要保障虚拟化内部业务Qos,这对虚拟化平台调度是一个重要考验。那么如何做好一个虚拟化调度平台,需要我们构建一套虚拟化调度评估方法及体系,当前openEuler社区此方面能力欠缺,需要我们调研引入适配移植业界典型工具及业务场景评估方法。
_难度_
_导师_
@KuhnChen18
_联系方式_
kuhn.chenqun@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1I9XJ
#### [No.53 - 为 openEuler 创建用户轨迹运营看板](https://gitee.com/openeuler/marketing/issues/I1IAOD)
_描述_
openEuler运营看板已经采集了部分数据,展示了基础数据以及基础的统计数据,比如issue个数、总数等,但对单用户个体数据并没有进行展示,无法知道用户喜好及时推送并制定对应用户的的运营措施。
_难度_
_导师_ @Zhongjun2
_联系方式_ jun.zhongjun@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IAOD
#### [No.54 - 对 openEuler 社区发布包 zip/unzip 进行 CRC 加速](https://gitee.com/openeuler/marketing/issues/I1IAWH)
_描述_
zip/unzip使用了CRC32(多项式0xedb88320)来校验数据的正确性。软件使用了常用的查表法来做CRC计算,性能并不理想。在ARMv8.1,提供了CRC32/CRC32C的专用指令:crc32d, crc32w, crc32h, crc32b, crc32cd, crc32cw, crc32ch, crc32cb。分别实现64bit、32bit、16bit和8bit数据的CRC计算。相对于查表法,ARM CRC指令快30倍左右。也就是说,对同一数据做CRC,加速指令耗用时间是查表法的1/30。对于CRC-32和CRC-32C,GCC提供了builtin函数,可以在C代码里直接调用。builtin函数名字就是对应的汇编指令名字前加“__”,比如__crc32d函数对应crc32d指令。另外,还需添加“-march=armv8.1-a”编译选项。openEuler社区的zip/unzip发布包均没有为ARM平台做过优化。
- zip:https://gitee.com/src-openeuler/zip。
- unzip:https://gitee.com/src-openeuler/unzip。
本任务的目标就是为这两个软件包在ARM上做加速,提高压缩性能。
_难度_
_导师_
[@colordev](https://gitee.com/colordev)
_联系方式_
colordev@hotmail.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IAWH
#### [No.55 - 自动脱敏网络抓包工具](https://gitee.com/openeuler/marketing/issues/I1IB4N)
_描述_
现有wireshake、tcpdump这类工具存在两类问题
- 报文payload信息没有脱敏,导致这类工具无法在生产环境使用。
- 有些抓包工具在大流量情况下会导致crash,无法在生产环境使用。
实现一个脱敏网络抓包工具,要求如下:
- 可以灵活抓取网络报文,报文内容要具备自动脱敏能力;
- 可以在生产环境部署,不影响在线业务性能。
- 支持主流网卡驱动
_难度_
_导师_ @MrRlu
_联系方式_ newlife_lala@163.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IB4N
#### [No.56 - 以 openEuler LTS 为基础生成公有云镜像](https://gitee.com/openeuler/marketing/issues/I1ICCJ)
_描述_
公有云上都是以镜像的形式来使用OS系统,制作一个工具来帮助自动化从openEuler的iso或者repo制作出各种公有云的虚拟机镜像,例如华为云,阿里云,AWS,腾讯云等。
_难度_
_导师_
myeuler
luanjianhai
_联系方式_
- myeuler@163.com
- luanjianhai@163.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1ICCJ
#### [No.57 - 内核数据竞争检测工具](https://gitee.com/openeuler/marketing/issues/I1ICGN)
_描述_
内核数据竞争检测,业界当前可以通过静态测试工具(比如 [SVF](https://github.com/lifeasageek/SVF/tree/svf-razzer) 和动态测试方法(比如 [kcsan](https://github.com/google/ktsan/tree/kcsan) 来检测内核竞争,但是静态测试误报较太多,kcsan动态检测出来的很多问题也是无害的,因此本课题目标是把静态测试工具或动态测试工具(SVF和KCSAN,或其他类似的工具)输出的检测信息作为输入,通过精准构造的方式来构造真实竞争,通过内核自运行或者kasan等机制来检测是否是真正的竞争bug。
_难度_
_导师_ walkingwalk
_联系方式_
wubodong@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1ICGN
#### [No.58 - 为 openEuler 提供 PR Preview 功能](https://gitee.com/openeuler/marketing/issues/I1ICRB)
_描述_ openEuler官网采用Hugo框架渲染Markdown成最终的静态文件部署,开发流程中缺少针对Pull Request的渲染结果浏览,本任务的目标是通过kubernetes的CRD+Operator提供多静态网站实例的编译和浏览功能,提高开发和检视流程的易用性。
_难度_
_导师_ @TommyLike
_联系方式_ tommylikehu@gmail.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1ICRB
#### [No.59 - 开源基础设施智能自检自愈系统](https://gitee.com/openeuler/marketing/issues/I1ICRK)
_描述_ 随着社区参与者与贡献规模的增加,社区在不断向开源基础设施提出诸多需求。这给基础设施的运维难度和稳定性带来了挑战,我们希望基础设施能更加强健,并具有一定的自检查、自修复能力。
_难度_
_导师_ @George.Cao
_联系方式_ george.cao@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1ICRK
#### [No.60 - everything tool on openEuler](https://gitee.com/openeuler/marketing/issues/I1IELF)
_描述_
windows下everything工具是非常好用的文件快速检索软件,但是在linux下一直没有对应工具(有一些很有历史的命令,做不到快速检索);希望能够在openEuler中找到对应everything的快速检索工具。
本题目为开放式,实现方式难度不等,可以去开源社区寻找优秀的业界实现,移植到openEuler平台;或借鉴已有实现,进行相关优化,目标是实现一个快速,可用,易用的文件检索工具。
P.S. 实现方式可以基于命令行或图形界面
_难度_
中等-困难
_导师_
@denggx_elros
_联系方式_
dengguangxing@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IELF
#### [No61. - openEuler 集成 Kubernetes 相关软件包](https://gitee.com/openeuler/marketing/issues/I1IF4R)
_描述_ Kubernetes是用于自动部署,扩展和管理容器化应用程序的开源系统,也是如今云原生中最重要的底层基石之一。我们希望参与者能够提供Kubernetes相关软件在openEuler上的标准发布软件包,包括kubelet、kubectl等。并能够让用户在openEuler上更便捷地部署和使用kubernetes
_难度_
_导师_ @radeon92
_联系方式_ caoruidong@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IF4R
#### [No.62 - QEMU 用户态进程热补丁框架](https://gitee.com/openeuler/marketing/issues/I1IG8E)
_描述_
* QEMU进程作为虚拟机进程需要常驻运行,但用户态软件发布上线后经常会存在一些紧急BUG需要在线修复;
* **用户态热补丁技术**是指在程序处于运行状态的时候,在线修改程序运行逻辑的技术,和内核态livepatch机制类似;
* 相比内核态热补丁技术而言,用户态热补丁技术更具挑战性,用户态热补丁技术对云软件的可维护性具有重要意义;
* 本题目要求参与者为例如QEMU之类的**用户态进程实现一个简易的热补丁框架**,能够为QEMU进程提供热补丁能力支持。
任务链接:
* [https://gitee.com/openeuler/marketing/issues/I1IG8E?from=project-issue](https://gitee.com/openeuler/marketing/issues/I1IG8E?from=project-issue)
_难度_ **难**
_导师_
* @zhanghailiang
* @yorifang
_联系方式_ fangying1@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IG8E
#### [No.63 - openeuler 系统的内存统计工具](https://gitee.com/openeuler/marketing/issues/I1IGQC)
_描述_
请编写一个内存统计工具,能够统计openeuler系统中内核态内存使用情况,包括:
1.vmalloc内存都被谁申请了?
2.slab内存都被谁申请了?
3.内存page页都被谁申请了?
4.lru链表上的内存页都是哪些cache?
这些统计信息,可以通过proc接口设置和获取,并可以统计指定模块占用的内存。
_难度_
_导师_
- @lvying6
- @Pces
- @licihua
_联系方式_
- lvying6@huawei.com
- chenjialong@huawei.com
- licihua@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IGQC
#### [No.64 - openEuler 集成 CRIU 工具](https://gitee.com/openeuler/marketing/issues/I1IGUG)
_描述_ CRIU是基于linux的用户态进程迁移软件,也是容器迁移的底层操作工具;CRIU可以完成用户态进程的Checkpoint/Restore操作,分别用于将进程所有相关运行状态保存到本地磁盘,以及根据磁盘文件恢复完全一致的进程。CRIU本身是纯用户态工具,但是依赖linux内核提供的相关能力,相应内核patch从3.8开始逐渐合入。
本次项目目标是将CRIU工具打包,加入openEuler发布件(基于X86和Arm64平台)
_难度_ 中等
_导师_ @denggx_elros
_联系方式_ dengguangxing@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IGUG
#### [No.65 - adler32算法在ARM平台的优化](https://gitee.com/openeuler/marketing/issues/I1IGXZ)
_描述_
- Adler-32是马克·阿德勒(Mark Adler)在1995年发明的一种校验和 算法,是对弗莱彻校验和的一种改进。与相同长度的循环冗余校验相比,它以可靠性为代价(优先选择后者)。Adler-32比Fletcher-16更可靠,而可靠性却比Fletcher-32低。
- Adler-32在基础压缩库libz中使用,常见压缩和解压场景中,adler-32的算法热点会比较高,优化该算法可以提升libz基础库的性能。
- SIMD简介:单指令流多数据流(英语:Single Instruction Multiple Data,缩写:SIMD)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。
- ARM平台使用SIMD优化adler-32的案例:https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/neon-programmers-guide-for-armv8-a/neon-intrinsics-chromium-case-study/adler-32
![使用SIMD向量指令优化adler-32性能能使PNG解码性能提升5%~18%](https://images.gitee.com/uploads/images/2020/0526/175137_f1abddae_5409602.png "屏幕截图.png")
使用SIMD向量指令优化adler-32性能能使PNG解码性能提升了5%~18%
_难度_
_导师_ @liqiang9102
_联系方式_ liqiang64@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IGXZ
#### [No.66 - QEMU 中集成 virtio-fuzz 能力以支持模拟设备的模糊测试](https://gitee.com/openeuler/marketing/issues/I1IHCJ)
_描述_
QEMU 中模拟大量设备(网卡、磁盘等),这些往往也是不可信的,甚至可能运行一些恶意软件,因此本课题目标在qemu中开发用于仿真设备的模糊测试;基于覆盖率反馈的启发式模糊测试(libfuzzer/AFL)被认为是一种较为有效的方式,可通过覆盖率反馈快速快速生成随机输入,而无需依靠人工指导;当前upstream社区提供两种实现方式:
1. 基于libFuzzer:https://patchwork.kernel.org/cover/11393233/
2. 基于AFL:https://kvmforum2019.sched.com/event/Tmv7/virtio-device-fuzzing-dmitrii-stepanov-yandex
可以选择一种将其移植到openEuler qemu中,并基于某种设备完成定制。
_难度_
_导师_ panny060
_联系方式_ pannengyuan@huawei.com
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IHCJ
#### [No.67 - 基于需求覆盖度判断的用例筛选方法(RBC,requirement-based coverage)探索及工程构建]()(https://gitee.com/openeuler/marketing/issues/I1IHGJ)
_描述_
OS内核及基础包众多,在代码迭代过程中,都需要执行大量自动化用例来保证修改的代码不会影响模块的原有功能。但是,现在的用例集和用例级别划分不是很明确,每次执行的用例有很多是冗余的。
如何准确的筛选出能够覆盖代码的最小用例集合,在尽量少的时间内完成迭代验证,提升OpenEuler的交付效率,是我们想要解决的问题。
通过执行用例时,跟踪用例覆盖到的代码分支和语句,可以有效识别出用例在代码中的覆盖范围,从而可以筛除冗余用例,构建精简的能够全面覆盖模块功能的用例集。
_难度_
_导师_
hw_niubility
_联系方式_
hw_niubility@yeah.net
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IHGJ
#### [No.68 - 基于 Sealight 构建云手机的自动化测试](https://gitee.com/openeuler/marketing/issues/I1IHIT)
_描述_
云手机测试包括接口测试、集成测试、数据流测试、UI测试等多个维度的测试,代码层次多,接口多,且UI界面变化频繁,使用传统的测试工具,覆盖难度大。
使用Sealight等AI测试工具,深度扫描接口和UI,自动生成用例,提升用例开发效率
_难度_
_导师_
hw_niubility
_联系方式_
hw_niubility@yeah.net
_任务链接_ https://gitee.com/openeuler/marketing/issues/I1IHIT
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册