CN109408307B - 一种自动化并行测试bmc保留配置升级功能的方法 - Google Patents

一种自动化并行测试bmc保留配置升级功能的方法 Download PDF

Info

Publication number
CN109408307B
CN109408307B CN201811180528.6A CN201811180528A CN109408307B CN 109408307 B CN109408307 B CN 109408307B CN 201811180528 A CN201811180528 A CN 201811180528A CN 109408307 B CN109408307 B CN 109408307B
Authority
CN
China
Prior art keywords
bmc
configuration
upgrading
reserved
reserving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811180528.6A
Other languages
English (en)
Other versions
CN109408307A (zh
Inventor
伯绍文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811180528.6A priority Critical patent/CN109408307B/zh
Publication of CN109408307A publication Critical patent/CN109408307A/zh
Application granted granted Critical
Publication of CN109408307B publication Critical patent/CN109408307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种自动化并行测试BMC保留配置升级功能的方法,包括如下步骤:设定保留配置升级的模式并对每种保留配置项做定义;设置待测服务器BMC并读取待测服务器BMC的配置;根据升级的模式选择参数进行BMC对应模块的升级;对比升级前后相关配置的结果。执行完升级动作后,BMC会自动重启,脚本在升级完成后通过代码判断BMC相应模块配置是否有变化。该程序操作简便,具有较强易用性,可很大程度提高测试效率与测试覆盖度,无需冗杂的操作即可轻松高效实现批量BMC保留配置功能测试,大大简化了BMC测试过程,提高了工作效率。

Description

一种自动化并行测试BMC保留配置升级功能的方法
技术领域
本发明涉及服务器测试技术领域,具体涉及一种自动化并行测试BMC保留配置升级功能的方法。
背景技术
随着互联网的发展,客户采购服务器的数量越来越庞大,BMC作为服务器平台管理的“大脑”,在客户运维工作中起着至关重要的作用。然而,作为一款功能强大的管理系统(BMC),在其工作过程中难免会经历数次版本升级,如何保证升级的稳定性以及质量是测试工程师非常关注的问题。
大部分客户会选择保留配置升级BMC,传统测试BMC保留配置的方法是先手动修改配置项,再选择保留配置升级,升级完成后手动检查配置项是否被保留。该方法操作比较费时,覆盖度有限,且无法并行进行测试。
发明内容
为了克服上述现有技术中的不足,本发明提供一种自动化并行测试BMC保留配置升级功能的方法,以解决上述技术问题。
本发明的技术方案是:
一种自动化并行测试BMC保留配置升级功能的方法,包括如下步骤:
设置待测服务器BMC并读取待测服务器BMC的配置;
根据升级的模式选择参数进行BMC对应模块的升级;
对比升级前后相关配置的结果。执行完升级动作后,BMC会自动重启,脚本在升级完成后通过代码判断BMC相应模块配置是否有变化。
进一步的,步骤设置待测服务器BMC并读取待测服务器BMC的配置之前,包括:
设定保留配置升级的模式并对每种保留配置项做定义。
进一步的,升级的模式包括保留单项升级的模式和包括多项升级的模式;
保留单项升级的模式包括:保留网络、保留SEL日志、保留用户、保留Hostname、保留NTP设置、保留SNMP配置、保留SMTP配置、保留KVM配置;
保留多项升级的模式包括:保留网络+SEL日志、保留网络+用户+Hostname、全部保留。
进一步的,步骤对每种保留配置项做定义,包括:
创建一个mode变量,通过给变量赋值用来代表保留配置的模式。
进一步的,1代表保留,0代表不保留,变量的不同值组成一个数组。
进一步的,步骤设置待测服务器BMC并读取待测服务器BMC的配置包括:
输入待测服务器的参数,其中参数包括待测服务器的BMC IP、用户名、密码、版本1、版本2;可达到批量执行的效果;
对参数进行解析;通过代码将待测机的IP、用户名、密码以及高低BMC版本号解析出来;
对BMC每个模块进行设置,设置完成后读取相应模块的配置。可将每个模块升级前所读到的配置保留在配置文件里,如pre-network、pre-hostname、pre-user等,用于升级完成后的比对;
进一步的,步骤根据升级的模式选择参数进行BMC对应模块的升级包括:
登陆BMC;
选择镜像;
设置保留参数;
进入刷新模式;
上传镜像文件;
校验镜像;
开始更新升级。
进一步的,步骤根据升级的模式选择参数进行BMC对应模块的升级之后,还包括:
检查升级后BMC对应模块的配置;
设置不保留配置对BMC进行降级。
进一步的,步骤对比升级前后相关配置的结果包括:
获取升级前设置的保留参数配置的MD5值;
获取升级后设置的保留参数配置的MD5值;
判断升级前获取的MD5值和升级后获取的MD5值是否相等,若是为PASS,否则为FAIL。
进一步的,步骤对比升级前后相关配置的结果还包括:
不保留配置刷新较低版本,切换下一种升级模式进行BMC对应模块的升级。
在执行过程中通过cat$IP.txt命令或者tail–f$IP命令即可查看某一台服务器当前运行的进程及最终的升级结果。
从以上技术方案可以看出,本发明具有以下优点:通过shell脚本自动按该场景执行升级测试动作,解决了旧方法费时、覆盖度不全且无法并行执行测试的问题。另外,通过脚本方式可将测试日志有效存档,便于后续问题追溯等。该程序操作简便,具有较强易用性,可很大程度提高测试效率与测试覆盖度,无需冗杂的操作即可轻松高效实现批量BMC保留配置功能测试,大大简化了BMC测试过程,提高了工作效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种自动化并行测试BMC保留配置升级功能的方法流程图。
具体实施方式
本发明提供一种自动化并行测试BMC保留配置升级功能的方法,通过预先设定一系列测试场景,通过shell脚本自动按该场景执行升级测试动作,解决了旧方法费时、覆盖度不全且无法并行执行测试的问题。另外,通过脚本方式可将测试日志有效存档,便于后续问题追溯等。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
如图1所示,本发明实施例提供一种自动化并行测试BMC保留配置升级功能的方法,包括如下步骤:
S1:设定保留配置升级的模式并对每种保留配置项做定义;
在本步骤中,我们可以预先设定几种保留配置升级的场景:保留单项升级,如“保留网络”、“保留SEL日志”、“保留用户”、“保留Hostname”、“保留NTP设置”、“保留SNMP配置”、“保留SMTP配置”、“保留KVM配置”;保留多项升级,如“保留网络+SEL日志”,“保留网络+用户+Hostname”,“全部保留”等等;
BMC基于Resful API有对每种保留配置项做定义,通过1和0代表保留与不保留,如下:
{"sel":0,"network":1,"ntp":0,"snmp":0,"smtp":0,"kvm":0,"smtp":0,"user":0,"hostname":0}//只保留网络,其他不保留
根据以上前提,我们可以创建一个mode变量,用来代表保留配置的模式,mode由8个“1”或“0”组成,如00000000,00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000,00000011,00001100等等,组成一个数组。
S2:设置待测服务器BMC并读取待测服务器BMC的配置;
需要说明的是,本步骤中,具体包括:
S21:输入待测服务器的参数,其中参数包括待测服务器的BMC IP、用户名、密码、版本1、版本2;可达到批量执行的效果;
Figure BDA0001824906960000041
Figure BDA0001824906960000051
S22:对参数进行解析;通过代码将待测机的IP、用户名、密码以及高低BMC版本号解析出来;
cat ip.txt|awk'{print$1}'|while read IP
cat ip.txt|awk'{print$2}'|while read USER
cat ip.txt|awk'{print$3}'|while read PASSWD
cat ip.txt|awk'{print$4}'|while read FW1
cat ip.txt|awk'{print$5}'|while read FW2
本步骤中,若参数不能解析,程序会提示请输入正确的参数,测试人员根据提示做相应的修改。
S23:对BMC每个模块进行设置,设置完成后读取相应模块的配置。
我们知道,BMC的每个模块均有IPMI命令设置和查看,本实施例中,以网络模块为例进行说明,可以采用先设置网络为静态,设置完成后读取网络配置:
设置网络为静态IP:
ipmitool–I lanplus–H$IP–U$USER–P$PASSWD lan set 1ipsrc static
ipmitool–I lanplus–H$IP–U$USER–P$PASSWD lan set 8ipsrc static
读取网络配置:
ipmitool–I lanplus–H$IP–U$USER–P$PASSWD lan print 1
ipmitool–I lanplus–H$IP–U$USER–P$PASSWD lan print 8
可将每个模块升级前所读到的配置保留在配置文件里,如pre-network、pre-hostname、pre-user等,用于升级完成后的比对。
S3:根据升级的模式选择参数进行BMC对应模块的升级;
本步骤中首先,设置保留相应配置进行升级,对于升级模式,可以通过升级模式数组中选出的数解析出来:
Figure BDA0001824906960000052
Figure BDA0001824906960000061
进一步的基于Resful API升级BMC,可以分以下几个步骤,包含①登陆BMC,②选择镜像,③设置保留参数,④进入刷新模式,⑤上传镜像文件,⑥校验镜像,⑦开始更新,实现的代码如下:
Figure BDA0001824906960000062
Figure BDA0001824906960000071
S4:对比升级前后相关配置的结果。
本步骤中,执行完升级动作后,BMC会自动重启,脚本在升级完成后通过代码判断BMC相应模块配置是否有变化。
这里采用MD5值比对的方式,实现代码如下(以网络配置举例):
Figure BDA0001824906960000072
在执行过程中通过cat$IP.txt命令或者tail–f$IP命令即可查看某一台服务器当前运行的进程及最终的升级结果。
总的说来,本发明的总体流程可以如下,通过参数形式输入待测服务器的BMC IP、用户名、密码、版本1、版本2。脚本自动解析参数,如果解析失败则提示重新输入。针对每台待测服务器的BMC,①先做设置并读取配置,②根据预先配置好的升级模式选择参数升级,③升级完成后再对待测服务器的BMC做配置检查,④判断升级后的结果,如果BMC升级成功且配置项均被保留,则为PASS,否则为FAIL。⑤刷新较低版本(不保留配置),⑥切换下一个升级模式,重复第①-⑤步直至最后一种升级模式。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种自动化并行测试BMC保留配置升级功能的方法,其特征在于包括如下步骤:
设置待测服务器BMC并读取待测服务器BMC的配置;
根据升级的模式选择参数进行BMC对应模块的升级;其中, 升级的模式包括保留单项升级的模式和保留多项升级的模式;
保留单项升级的模式包括:保留网络、保留SEL日志、保留用户、保留Hostname、保留NTP设置、保留SNMP配置、保留SMTP配置、保留KVM配置;
保留多项升级的模式包括:保留网络+SEL日志、保留网络+用户+Hostname、全部保留;
对比升级前后相关配置的结果;具体包括:
获取升级前设置的保留参数配置的MD5值;
获取升级后设置的保留参数配置的MD5值;
判断升级前获取的MD5值和升级后获取的MD5值是否相等,若是为PASS,否则为FAIL。
2.根据权利要求1所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于,步骤设置待测服务器BMC并读取待测服务器BMC的配置之前,包括:
设定保留配置升级的模式并对每种保留配置项做定义。
3.根据权利要求2所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于步骤对每种保留配置项做定义,包括:
创建一个mode变量,通过给变量赋值用来代表保留配置的模式。
4.根据权利要求3所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于,1代表保留,0代表不保留,变量的不同值组成一个数组。
5.根据权利要求1所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于步骤设置待测服务器BMC并读取待测服务器BMC的配置包括:
输入待测服务器的参数,其中参数包括待测服务器的BMC IP、用户名、密码、版本1、版本2;
对参数进行解析;
对BMC每个模块进行设置,设置完成后读取相应模块的配置。
6.根据权利要求1所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于,步骤根据升级的模式选择参数进行BMC对应模块的升级包括:
登陆BMC;
选择镜像;
设置保留参数;
进入刷新模式;
上传镜像文件;
校验镜像;
开始更新升级。
7.根据权利要求6所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于,步骤根据升级的模式选择参数进行BMC对应模块的升级之后,还包括:
检查升级后BMC对应模块的配置;
设置不保留配置对BMC进行降级。
8.根据权利要求1所述的一种自动化并行测试BMC保留配置升级功能的方法,其特征在于,步骤对比升级前后相关配置的结果还包括:
不保留配置刷新较低版本,切换下一种升级模式进行BMC对应模块的升级。
CN201811180528.6A 2018-10-11 2018-10-11 一种自动化并行测试bmc保留配置升级功能的方法 Active CN109408307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811180528.6A CN109408307B (zh) 2018-10-11 2018-10-11 一种自动化并行测试bmc保留配置升级功能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811180528.6A CN109408307B (zh) 2018-10-11 2018-10-11 一种自动化并行测试bmc保留配置升级功能的方法

Publications (2)

Publication Number Publication Date
CN109408307A CN109408307A (zh) 2019-03-01
CN109408307B true CN109408307B (zh) 2021-10-29

Family

ID=65467512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811180528.6A Active CN109408307B (zh) 2018-10-11 2018-10-11 一种自动化并行测试bmc保留配置升级功能的方法

Country Status (1)

Country Link
CN (1) CN109408307B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961447A (zh) * 2021-09-10 2022-01-21 宁畅信息产业(北京)有限公司 基于bmc双镜像刷新的压力测试方法、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102468992A (zh) * 2010-11-16 2012-05-23 鸿富锦精密工业(深圳)有限公司 Pxe测试系统及方法
CN105867975A (zh) * 2016-04-01 2016-08-17 浪潮电子信息产业股份有限公司 一种基于linux平台的批量刷新bmc的方法
CN106815054A (zh) * 2017-01-25 2017-06-09 郑州云海信息技术有限公司 一种刷新bmc固件的方法及装置
CN107423081A (zh) * 2017-04-14 2017-12-01 广东浪潮大数据研究有限公司 一种带外批量升级bmc固件的方法
CN107733700A (zh) * 2017-09-28 2018-02-23 郑州云海信息技术有限公司 一种单台、批量服务器bmc的远程刷新方法及系统
CN108073487A (zh) * 2017-11-23 2018-05-25 郑州云海信息技术有限公司 一种服务器Hostname上报功能测试方法及系统
CN108089566A (zh) * 2017-11-23 2018-05-29 郑州云海信息技术有限公司 一种bmc稳定性并行测试方法及系统
CN108170495A (zh) * 2018-01-29 2018-06-15 郑州云海信息技术有限公司 一种bios升级方法、系统、设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710284B1 (en) * 2016-02-02 2017-07-18 Mitac Computing Technology Corporation System for programmably configuring a motherboard

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102468992A (zh) * 2010-11-16 2012-05-23 鸿富锦精密工业(深圳)有限公司 Pxe测试系统及方法
CN105867975A (zh) * 2016-04-01 2016-08-17 浪潮电子信息产业股份有限公司 一种基于linux平台的批量刷新bmc的方法
CN106815054A (zh) * 2017-01-25 2017-06-09 郑州云海信息技术有限公司 一种刷新bmc固件的方法及装置
CN107423081A (zh) * 2017-04-14 2017-12-01 广东浪潮大数据研究有限公司 一种带外批量升级bmc固件的方法
CN107733700A (zh) * 2017-09-28 2018-02-23 郑州云海信息技术有限公司 一种单台、批量服务器bmc的远程刷新方法及系统
CN108073487A (zh) * 2017-11-23 2018-05-25 郑州云海信息技术有限公司 一种服务器Hostname上报功能测试方法及系统
CN108089566A (zh) * 2017-11-23 2018-05-29 郑州云海信息技术有限公司 一种bmc稳定性并行测试方法及系统
CN108170495A (zh) * 2018-01-29 2018-06-15 郑州云海信息技术有限公司 一种bios升级方法、系统、设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FPGA bitstream compression and decompression based on LZ77 algorithm and BMC technique;Yuanpei Gao ET AL;《2015 IEEE 11th International Conference on ASIC (ASICON)》;20160721;全文 *
web远程升级Solaris及进度跟踪设计;于洋;《软件》;20160915(第09期);全文 *

Also Published As

Publication number Publication date
CN109408307A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
US6988139B1 (en) Distributed computing of a job corresponding to a plurality of predefined tasks
WO2020140820A1 (zh) 软件测试方法、系统、装置、设备、介质及计算机程序产品
US8291405B2 (en) Automatic dependency resolution by identifying similar machine profiles
US11354223B2 (en) Maximally parallel test script execution
CN109726099A (zh) 一种应用灰度发布方法、装置及设备
US20180357143A1 (en) Testing computing devices
WO2017198015A1 (zh) 软件升级方法及装置
CN109460358B (zh) 基于Cmdb的配置管理方法及系统
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
CN109408307B (zh) 一种自动化并行测试bmc保留配置升级功能的方法
US10831640B2 (en) Method and system for testing an application using multiple test case execution channels
CN108009086B (zh) 基于用例分解和功能学习的系统自动化测试方法
CN113672674A (zh) 一种自动编排业务流的方法、电子装置和存储介质
CN110727575A (zh) 一种信息处理方法、系统、装置、以及存储介质
CN111984623A (zh) 数据库集群自动化部署方法、装置、介质和电子设备
CN116340294A (zh) 数据库部署方法、装置、计算机可读存储介质及电子设备
US11775643B2 (en) Method and system for labeling object and generating security policy of operating system
US20220318129A1 (en) Automated code checking
CN114489999A (zh) 流水线任务的处理方法和装置、处理器及电子设备
CN112015633B (zh) 测试激励多平台复用方法、装置、设备及存储介质
Deshpande et al. Test Automation and Continuous Integration using Jenkins for Smart Card OS
CN113608996B (zh) 一种镜像编译测试方法、系统、装置及可读存储介质
CN110096292A (zh) 一种自适应刷新服务器bios固件的方法及系统
Iosup et al. Build-and-test workloads for grid middleware: Problem, analysis, and applications
CN111858315B (zh) 一种基于版本管理的软件调试方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant