Fedora 19 Kdump 自动化测试套件 中期报告

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Fedora 19 Kdump 自动化测试套件的开发到今天已经进行了一半时间了,在这一个月之间,开发出了一个雏形。虽然功能不完善,虽然架构设计仍然有很多需要完善的地方,但总算有一个最最基本的功能。下面对本软件的架构设计以及目前版本的使用方式做一简单介绍。</span>

架构设计

本测试套件主要目的是完成kdump在Fedora19上面的自动化测试工作,程序被运行后无需用户干预即可完成对Kdump的包括环境检测、系统参数检测、Kdump的配置、crash的触发、vmcore的收集等工作。

套件的流程为:
一、环境测试
    1、检测相关软件是否安装,包括kexec-tools、crash、kernel-debuginfo,其中第三个为必选,前两个可选,前两个未安装时给出警告,第三个未安装时直接报错退出。
    2、检测grub2中是否包含crashkernel参数,如果不包含则添加此参数,并将留给Kdump的内存值设置为128M。
    3、添加完成后为使参数生效,必须重启系统。为了解决系统重启后套件仍可以自动完成测试的功能,在此采用编写系统服务的方法。在判断crashkernel参数时,若系统并未包含此参数,则添加参数并将服务设为开机自启动。但因为这样可能造成系统每次开机都要执行此服务,而造成反复出发系统crash,故需要在判断系统无需再次重启时将服务的开机自启动关闭。在本测试套件中,在判断系统已经添加了crashkernel启动参数后即关闭服务的开机自启动。
二、初始化
    1、将原有的kdump.conf文件移动到一个固定位置,以便用户找到原有的配置文件。
    2、从测试套件的配置文件读取相关配置,将相关配置写入新建的kdump.conf文件中,并且得到用户所需的crash方式及存储方式。之后调用相应的存储方式函数进行相关的磁盘、网络检测,条件符合之后重启kdump服务。
三、触发crash
    根据crash方式选择相应的函数进行crash触发

使用方法

目前,测试套件只实现了部分功能,有些部分是写死的,故在操作过程中需要一些人为的操作。
测试套件目前只支持sysrq-c方式的nfs网络收集镜像,功能写死在程序中。如需进行测试需要改动代码中相应的部分。

使用时需要一台远程的nfs服务器配合,用来放置产生的vmcore文件。nfs服务器的地址、目录以及需要放置vmcore文件的目录需要在storefunc/nfs.py中填写:
def nfs():
    print 'testing remote server...'
    nfsip = '10.33.28.9'
    nfsfolder = '/nfsfolder'
    storepath = '/kda'    
    nettest(nfsip)
    f = open('/etc/kdump.conf','w')
    f.write('nfs '+ nfsip +':'+nfsfolder+'\n')
    f.write('path '+ storepath +'\n')
nfs的ip填写在nfsip后面,nfs共享的目录填写在nfsfolder后面,需要放置在此目录下的具体文件夹填写在storepath后面

配置完成之后即可进行测试。
运行程序时,由于需要配置程序及服务等工作较多,故编写了安装脚本setup.py。可通过运行此脚本来进行测试套件的安装。它的流程为,将服务放入相应目录,之后将程序复制到相应位置,接着为主程序ftest.py赋予可执行权限,最后建立它的软连接,可使直接运行ftest命令即可进行测试。

# cd src/
# python setup.py

安装完成之后会提示安装成功,这时即可通过命令
# ftest
进行测试


在此过程中系统可能会重启。重启后不再会看到提示。只需耐心等待。几分钟后即可在nfs服务器的相应目录看到生成的vmcore

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值