1 Star 0 Fork 0

OpenCloudOS / lkp-extent

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

img

lkp-extent

lkp-extent项目致力于增加LKP项目在容器环境下的压力相关测试,从而增加Linux系统的ras特性。目前主要分为如下几个方向:

  1. 增加LKP远程管理分发机制
  2. 增加LKP对容器环境的测试
  3. 增加ebpf测试内核的用例

代码:https://github.com/OpenCloudOS/lkp-tests

远程管理

介绍

我们知道在测试系统稳定性的时候,对不同类型的服务器进行大批量暴力测试,才能更容易说明问题。但是原生态的LKP套件主要是用于在单台Linux服务器上测试系统的稳定性,如果需要部署多台不同类型的服务器进行同时测试,则需要手动登录每一台服务器进行设置。因此lkp-extent主要用于扩展LKP功能,解决其在这方面的不足,设计出一个 一对多点的运作模式。

原理

                                     lkp-server
                                         |
      +-----------------+----------------+----------------+-------------------+
      |                 |                |                |                   |
      |                 |                |                |                   |
   lkp-node         lkp-node           .....           lkp-node           lkp-node

如图,首先我们将一台服务器称为node,而lkp-extent则需要存在一个server node和若干个client node。server node会进入监听模式,client node会根据自身的服务器配置相继接入对应的server node。这样server node上面,就可以对client node进行全方位的操作,下面简单例举几个常见的指令,

  1. 查看有哪些待测服务器

    $ lkp-ctl list # 返回client-node的nodeid,arch类型和内存等信息

  2. 更新测试组件

    $ lkp-ctl update # 更新本机的测试组件,包括lkp-extent和lkp两个repo

    $ lkp-ctl update all # 更新所有node的测试组件

    $ lkp-ctl update -i nodeid #更新id号是nodeid的node的测试组件

  3. 下发测试指令

    $ lkp-ctl run testcase # 所有node都执行testcase

    $ lkp-ctl -i nodeid run testcase # id是nodeid的服务器执行testcase

    $ lkp-ctl -i nodeid -c containerCount run testcase # id是nodeid的服务器开containerCount个容器,并在容器里面执行testcase

  4. 下发测试集

    $ lkp-ctl run testcluster # testcluster是一堆testcase的组合,用于进行多组合测试

    $ lkp-ctl -i nodeid run testcluster # 对指定测试机进行组合测试

    $ lkp-ctl -i nodeid -c contaierCount run testcluster # 对指定测试机进行容器内的组合测试

  5. 推送自定义测试case

    $ lkp-ctl push testscript # 向所有测试机推送名字为testscript的脚本

    $ lkp-ctl -i nodeid push testscript # 向指定测试机推送名字为testscript的脚本

  6. 收集测试结果

    $ lkp-ctl result # 收集所有测试机的测试结果

    $ lkp-ctl -i nodeid result # 收集指定的测试机的测试结果

虽然lkp-extent是LKP的一个扩展功能,但是该repo并不会对LKP工程本身进行修改,他可以在最大的程度上使用最新的LKP,而lkp-extent上面新增的测试case也只会以overlay的方式叠加到原生态的LKP工程上。

进展

正在研发中......

容器测试

介绍

目前LKP的测试case更多的是偏向于对Linux内核本身的测试,然而对于容器环境相关的测试则是几乎没有,因此lkp-extent工程会重点研发容器环境相关的测试case,用于打造一个更稳定的容器OS。

原理

lkp-extent是一个依赖于LKP测试套件的工程,因此lkp-extent工程里面关于容器测试case的写法和LKP的job写法相同(readme)。在使用过程中,lkp-extent会将自身的测试项overlay到LKP工程的jobs目录上,这样方便LKP工程进行统一管理。同样在之前提到的,拥有远程管理的基础上,lkp-ctl可以拥有通过配置文件,让多个host在指定时间,指定条件进行自动部署,自动测试和自动返回测试结果的功能。

进展

正在研发中......

文档

请参考《Design.doc》

空文件

简介

lkp-extent enhances the ability to run inside containers and deploy containers on multiple hosts based on lkp 展开 收起
Shell 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/OpenCloudOS/lkp-extent.git
git@gitee.com:OpenCloudOS/lkp-extent.git
OpenCloudOS
lkp-extent
lkp-extent
main

搜索帮助