CN113703792A - 一种固件远程升级测试方法、装置、服务器及介质 - Google Patents
一种固件远程升级测试方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN113703792A CN113703792A CN202110948390.5A CN202110948390A CN113703792A CN 113703792 A CN113703792 A CN 113703792A CN 202110948390 A CN202110948390 A CN 202110948390A CN 113703792 A CN113703792 A CN 113703792A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgraded
- equipment
- version
- upgrading
- 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.)
- Withdrawn
Links
- 238000010998 test method Methods 0.000 title description 3
- 238000012360 testing method Methods 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 8
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种固件远程升级测试方法、装置、服务器及介质,该方法包括:接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件;运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备;利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。这样能够进行固件远程升级自动化测试,节约升级测试成本,提高升级测试效率。
Description
技术领域
本申请涉及测试技术领域,特别涉及一种固件远程升级测试方法、装置、服务器及介质。
背景技术
目前,市面上绝大多数数据中心白盒交换机固件包括负责监控管理系统硬件的基板管理控制器BMC(Baseboard Management Controller,基板管理控制器)、负责管理底层硬件系统的基本输入输出系统BIOS(Basic Input Output System,基本输入输出系统)以及负责各种算法和组合逻辑的复杂可编程逻辑器件CPLD(Complex Programmable logicdevice,复杂可编程逻辑器件)等。作为交换机固件测试的重要组成部分,固件升级相关测试项冗杂,需手工执行升级操作且单项测试耗时较长。在公司自研交换机型号众多、项目时间紧张、测试人力紧缺的情况下,手动执行各项升级测试操作可以会消耗大量的人员成本,且测试效率低。
发明内容
有鉴于此,本申请的目的在于提供一种固件远程升级测试方法、装置、服务器及介质,能够进行固件远程升级自动化测试,节约升级测试成本,提高升级测试效率。其具体方案如下:
第一方面,本申请公开了一种固件远程升级测试方法,应用于服务器,包括:
接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件;
运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备;
利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。
可选地,所述客户终端在Pytest测试框架下生成所述版本更新工具和所述版本更新配置文件,且所述固件镜像包括CPLD镜像、BIOS镜像及BMC镜像中的任一项或几项的组合。
可选地,所述运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,包括:
运行所述版本更新工具,以便从所述版本更新配置文件中读取出所述待升级设备的IP地址、所述固件镜像的存储路径;
从所述存储路径下读取所述固件镜像,并根据所述IP地址将所述固件镜像下发到所述待升级设备。
可选地,所述根据所述固件升级信息确定所述待升级设备是否升级成功之后,还包括:
如果所述待升级设备升级成功,则利用linux命令将所述服务器中的所述固件镜像、所述版本更新工具及所述版本更新配置文件删除。
可选地,所述利用ipmitool指令获取所述待升级设备的固件升级信息,包括:
利用ipmitool指令模拟所述待升级设备上的BMC下发日志查询指令,以获取到所述待升级设备的固件升级日志;
利用ipmitool指令模拟所述待升级设备上的BMC下发固件版本查询指令,以获取到所述待升级设备的当前固件版本。
可选地,所述根据所述固件升级信息确定所述待升级设备是否升级成功,包括:
利用断言判断所述固件升级日志中是否包括升级成功日志记录;
如果所述固件升级日志中包括升级成功日志记录,则判定所述待升级设备升级成功。
可选地,所述根据所述固件升级信息确定所述待升级设备是否升级成功,包括:
利用断言判断所述固件升级日志中是否包括升级成功日志记录;
如果所述固件升级日志中包括升级成功日志记录,则判断所述当前固件版本是否为期望升级到版本;
如果当前固件版本为期望升级到版本,则判定所述待升级设备升级成功。
第二方面,本申请公开了一种固件远程升级测试装置,应用于服务器,包括:
数据接收模块,用于接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件;
升级模块,用于运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备;
升级校验模块,用于利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。
第三方面,本申请公开了一种服务器,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的固件远程升级测试方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的固件远程升级测试方法。
可见,本申请固件远程升级测试方法,应用于服务器,首先接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件。然后运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备。接着再利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。由此可见,本申请中服务器在接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件之后,便可以运行所述版本更新工具,以便根据固件更新文件中的版本更新配置文件将固件镜像发送给待升级设备,待升级设备便可以完成对应的固件升级,然后再通过ipmitool指令获取所述待升级设备的固件升级信息,便可以确定出是否升级成功,从而实现了整个升级测试过程的自动化,也即能够进行固件远程升级自动化测试,从而节约了升级测试成本,也可以提高升级测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种固件远程升级测试方法流程图;
图2为本申请公开的一种具体的固件远程升级测试方法流程图;
图3为本申请公开的一种固件远程升级测试装置结构示意图;
图4为本申请公开的一种服务器结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,市面上绝大多数数据中心白盒交换机固件包括负责监控管理系统硬件的基板管理控制器BMC、负责管理底层硬件系统的基本输入输出系统BIOS以及负责各种算法和组合逻辑的复杂可编程逻辑器件CPLD等。作为交换机固件测试的重要组成部分,固件升级相关测试项冗杂,需手工执行升级操作且单项测试耗时较长。在公司自研交换机型号众多、项目时间紧张、测试人力紧缺的情况下,手动执行各项升级测试操作可以会消耗大量的人员成本,且测试效率低。有鉴于此,本申请提出了一种固件远程升级测试方法,能够进行固件远程升级自动化测试,节约升级测试成本,提高升级测试效率。
参见图1所示,本申请实施例公开了一种固件远程升级测试方法,应用于服务器,该方法包括:
步骤S11:接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件。
在实际过程中,首先在客户终端上准备好固件更新文件,其中,所述固件更新文件包括固件镜像、版本更新工具和版本更新配置文件,所述版本更新配置文件可以在Python环境下通过代码抓取既定待升级设备的配置文件中各类信息,如待升级设备的IP地址、镜像的存储路径、用户名密码等,调用至版本更新配置文件中,由于需要升级的设备不同,可以从不同的待升级设备的配置文件中抓取信息,得到不同的版本更新配置文件,从而对不同的待升级设备进行固件远程升级测试。客户终端在生成所述固件镜像、所述版本更新工具和所述版本更新配置文件之后,将所述固件镜像、所述版本更新工具和所述版本更新配置文件保存在相同的路径下,然后利用paramiko.SFTPClient功能将所述固件镜像、所述版本更新工具和所述版本更新配置文件上传到远程的服务器,所以所述服务器便需要接收所述客户终端利用paramiko.SFTPClient功能上传的固件更新文件。
其中,Paramiko是基于Python版本实现和封装了SSH(Secure Shell,安全外壳协议)v2协议,底层是用cryptography实现,如果希望远程登录主机或者远程下载或者上传文件到远程主机都可以使用该库实现。Paramiko属于第三方python库,类似于SSH协议,Paramiko主要分为SSHClient和SFT(SSH File Transfer Protocol,SSH文件传输协议)PClient,前者主要对远程主机进行操作,输入命令对远程主机进行控制,后者主要实现了从远程主机上上传下载文件。
步骤S12:运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备。
所述服务器在接收到所述固件更新文件之后,还需要运行版本更新工具,以便根据所述版本更新文件将所述固件镜像下发到对应的待升级设备,所述待升级设备在接收到所述固件镜像之后,便会利用所述固件镜像对自身的固件进行升级,其中,所述待升级设备为适配ipmitool接口的设备。
具体的,所述服务器在运行所述版本更新工具时,便根据所述版本更新配置文件向对应的待升级设备下发版本更新指令,其中,所述版本更新指令中包括所述固件镜像。
步骤S13:利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。
所述待升级设备利用所述固件镜像完成自身的固件升级之后,所述服务器还需要利用ipmitool指令获取所述待升级设备的固件升级信息,以及根据所述固件升级信息确定所述待升级设备是否升级成功,从而得到最终的固件远程升级测试结果。
可见,本申请固件远程升级测试方法,应用于服务器,首先接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件。然后运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备。接着再利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。由此可见,本申请中服务器在接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件之后,便可以运行所述版本更新工具,以便根据固件更新文件中的版本更新配置文件将固件镜像发送给待升级设备,待升级设备便可以完成对应的固件升级,然后再通过ipmitool指令获取所述待升级设备的固件升级信息,便可以确定出是否升级成功,从而实现了整个升级测试过程的自动化,也即能够进行固件远程升级自动化测试,从而节约了升级测试成本,也可以提高升级测试效率。
参见图2所示,本申请实施例公开了一种具体的固件远程升级测试方法,应用于服务器,该方法包括:
步骤S21:接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件。
在实际应用中,需要先在所述客户终端上准备好固件更新文件,其中,所述固件更新文件包括固件镜像、版本更新工具和版本更新配置文件,具体的,所述客户终端可以在Pytest测试框架下生成所述版本更新工具和所述版本更新配置文件,且所述固件镜像包括CPLD镜像、BIOS镜像及BMC镜像中的任一项或几项的组合。在准备好所述固件更新文件之后,便利用paramiko.SFTPClient功能上传给所述服务器,所述服务器便需要接收所述固件更新文件。
步骤S22:运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备。
所述服务器在接收到所述服务器之后,便需要运行所述版本更新工具,以便从所述版本更新配置文件中读取出所述待升级设备的IP地址、所述固件镜像的存储路径;从所述存储路径下读取所述固件镜像,并根据所述IP地址将所述固件镜像下发到所述待升级设备。
步骤S23:利用ipmitool指令模拟所述待升级设备上的BMC下发日志查询指令,以获取到所述待升级设备的固件升级日志。
在所述待升级设备利用所述固件镜像对自身固件进行升级之后,还需要利用ipmitool指令模拟所述待升级设备上的BMC下发日志查询指令,以获取到所述待升级设备的固件升级日志。
步骤S24:利用ipmitool指令模拟所述待升级设备上的BMC下发固件版本查询指令,以获取到所述待升级设备的当前固件版本。
此外,所述服务器还可以利用ipmitool指令模拟所述待升级设备上的BMC下发固件版本查询指令,以获取到所述待升级设备的当前固件版本。
步骤S25:利用断言判断所述固件升级日志中是否包括升级成功日志记录。
在获取到所述固件升级日志之后,还需要利用断言判断所述固件升级日志中是否包括升级成功日志记录。也即,需要利用断言判断所述固件升级日志中是否包括UpdateSuccess日志记录。
步骤S26:如果所述固件升级日志中包括升级成功日志记录,则判定所述待升级设备升级成功。
如果所述固件升级日志中包括升级成功日志记录,则可以直接利用判定所述待升级设备升级成功。
或者,在所述固件升级日志中包括升级成功日志记录时,进一步判断所述当前固件版本是否为期望升级到版本;如果当前固件版本为期望升级到版本,则判定所述待升级设备升级成功。这样可以进一步保证升级后固件版本是期望升级到的版本,以避免出现升级后固件的版本与期望升级到的不一致的问题。
步骤S27:如果所述待升级设备升级成功,则利用linux命令将所述服务器中的所述固件镜像、所述版本更新工具及所述版本更新配置文件删除。
在所述待升级设备的固件升级成功,则还需要利用linux命令将所述服务器中的所述固件镜像、所述版本更新工具及所述版本更新配置文件删除。
该固件远程升级测试方法主要应用于传统自研交换机的远程升级相关测试,通过提前设定固件镜像、版本更新配置文件,自动执行远程升级完整流程测试,具备以下几点应用前景:
交换机固件远程升级测试由数十测试项组成,包括单固件更新测试、镜像校验测试、用户名密码测试、多固件更新测试、多样机同时升级测试、配置保留测试等,每条测试均需执行上述完整流程,且固件升级较其他测试耗时更长,人工手动执行远程升级测试费时费力。使用该自动化测试方法调用Pytest测试框架可依次执行全部测试项而无需人力监督,测试过程全程log记录,保证测试结果的可靠性,利用晚上或假期空闲时间运行测试,极大提升工作效率。
该方法不仅能够支持测试工作,对于日常发布的版本更新流程同时是很好的简化。尤其在项目紧凑,版本发布频繁的时期,使用该方法进行版本更新可免去繁琐的手动更新流程,节省大量重复且单一的无意义劳动,从而空出更多时间投入在重要的研发与测试工作中。
该方法不仅适用于交换机,仅需部分代码改动,服务器、智能网卡等适配ipmitool接口的项目均可通过该方法完成固件更新与远程升级相关测试。
参见图3所示,本申请实施例公开了一种固件远程升级测试装置,应用于服务器,包括:
数据接收模块11,用于接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件;
升级模块12,用于运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备;
升级校验模块13,用于利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。
可见,本申请固件远程升级测试方法,应用于服务器,首先接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件。然后运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备。接着再利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。由此可见,本申请中服务器在接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件之后,便可以运行所述版本更新工具,以便根据固件更新文件中的版本更新配置文件将固件镜像发送给待升级设备,待升级设备便可以完成对应的固件升级,然后再通过ipmitool指令获取所述待升级设备的固件升级信息,便可以确定出是否升级成功,从而实现了整个升级测试过程的自动化,也即能够进行固件远程升级自动化测试,从而节约了升级测试成本,也可以提高升级测试效率。
在具体的实施过程中,所述客户终端在Pytest测试框架下生成所述版本更新工具和所述版本更新配置文件,且所述固件镜像包括CPLD镜像、BIOS镜像及BMC镜像中的任一项或几项的组合。
在具体的实施过程中,所述升级模块12,用于:
运行所述版本更新工具,以便从所述版本更新配置文件中读取出所述待升级设备的IP地址、所述固件镜像的存储路径;
从所述存储路径下读取所述固件镜像,并根据所述IP地址将所述固件镜像下发到所述待升级设备。
在具体的实施过程中,所述固件远程升级测试装置,还包括:
数据删除模块,用于如果所述待升级设备升级成功,则利用linux命令将所述服务器中的所述固件镜像、所述版本更新工具及所述版本更新配置文件删除。
在具体的实施过程中,所述升级校验模块13,用于:
利用ipmitool指令模拟所述待升级设备上的BMC下发日志查询指令,以获取到所述待升级设备的固件升级日志;
利用ipmitool指令模拟所述待升级设备上的BMC下发固件版本查询指令,以获取到所述待升级设备的当前固件版本。
在具体的实施过程中,所述升级校验模块13,用于:
利用断言判断所述固件升级日志中是否包括升级成功日志记录;
如果所述固件升级日志中包括升级成功日志记录,则判定所述待升级设备升级成功。
在具体的实施过程中,所述升级校验模块13,用于:
利用断言判断所述固件升级日志中是否包括升级成功日志记录;
如果所述固件升级日志中包括升级成功日志记录,则判断所述当前固件版本是否为期望升级到版本;
如果当前固件版本为期望升级到版本,则判定所述待升级设备升级成功。
图4为本申请实施例提供的一种服务器20的结构示意图,该服务器20具体可以实施前述的固件远程升级方法步骤。
通常,本实施例中的服务器20包括:处理器21和存储器22。
其中,处理器21可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器21可以采用DSP(digital signal processing,数字信号处理)、FPGA(field-programmable gate array,现场可编程们阵列)、PLA(programmable logic array,可编程逻辑阵列)中的至少一种硬件来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有GPU(graphics processing unit,图像处理器),GPU用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器21可以包括AI(artificialintelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器22可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器22还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器22至少用于存储以下计算机程序221,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例中公开的固件远程升级测试方法步骤。
在一些实施例中,服务器20还可包括有输入输出接口23、通信接口24、传感器25、电源26以及通信总线27。
本技术领域人员可以理解,图4中示出的结构并不构成对服务器20的限定,可以包括比图示更多或更少的组件。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的固件远程升级测试方法。
其中,关于上述固件远程升级测试方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种固件远程升级测试方法、装置、服务器及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种固件远程升级测试方法,其特征在于,应用于服务器,包括:
接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件;
运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备;
利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。
2.根据权利要求1所述的固件远程升级测试方法,其特征在于,所述客户终端在Pytest测试框架下生成所述版本更新工具和所述版本更新配置文件,且所述固件镜像包括CPLD镜像、BIOS镜像及BMC镜像中的任一项或几项的组合。
3.根据权利要求1所述的固件远程升级测试方法,其特征在于,所述运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,包括:
运行所述版本更新工具,以便从所述版本更新配置文件中读取出所述待升级设备的IP地址、所述固件镜像的存储路径;
从所述存储路径下读取所述固件镜像,并根据所述IP地址将所述固件镜像下发到所述待升级设备。
4.根据权利要求1所述的固件远程升级测试方法,其特征在于,所述根据所述固件升级信息确定所述待升级设备是否升级成功之后,还包括:
如果所述待升级设备升级成功,则利用linux命令将所述服务器中的所述固件镜像、所述版本更新工具及所述版本更新配置文件删除。
5.根据权利要求1至4任一项所述的固件远程升级测试方法,其特征在于,所述利用ipmitool指令获取所述待升级设备的固件升级信息,包括:
利用ipmitool指令模拟所述待升级设备上的BMC下发日志查询指令,以获取到所述待升级设备的固件升级日志;
利用ipmitool指令模拟所述待升级设备上的BMC下发固件版本查询指令,以获取到所述待升级设备的当前固件版本。
6.根据权利要求5所述的固件远程升级测试方法,其特征在于,所述根据所述固件升级信息确定所述待升级设备是否升级成功,包括:
利用断言判断所述固件升级日志中是否包括升级成功日志记录;
如果所述固件升级日志中包括升级成功日志记录,则判定所述待升级设备升级成功。
7.根据权利要求5所述的固件远程升级测试方法,其特征在于,所述根据所述固件升级信息确定所述待升级设备是否升级成功,包括:
利用断言判断所述固件升级日志中是否包括升级成功日志记录;
如果所述固件升级日志中包括升级成功日志记录,则判断所述当前固件版本是否为期望升级到版本;
如果当前固件版本为期望升级到版本,则判定所述待升级设备升级成功。
8.一种固件远程升级测试装置,其特征在于,应用于服务器,包括:
数据接收模块,用于接收客户终端利用paramiko.SFTPClient功能上传的固件更新文件,其中,所述固件更新文件中包括固件镜像、版本更新工具和版本更新配置文件;
升级模块,用于运行所述版本更新工具,以便根据所述版本更新配置文件将所述固件镜像下发到对应的待升级设备,以便所述待升级设备利用所述固件镜像进行自身固件升级,其中,所述待升级设备为适配ipmitool接口的设备;
升级校验模块,用于利用ipmitool指令获取所述待升级设备的固件升级信息,并根据所述固件升级信息确定所述待升级设备是否升级成功。
9.一种服务器,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至7任一项所述的固件远程升级测试方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的固件远程升级测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948390.5A CN113703792A (zh) | 2021-08-18 | 2021-08-18 | 一种固件远程升级测试方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948390.5A CN113703792A (zh) | 2021-08-18 | 2021-08-18 | 一种固件远程升级测试方法、装置、服务器及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113703792A true CN113703792A (zh) | 2021-11-26 |
Family
ID=78653252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110948390.5A Withdrawn CN113703792A (zh) | 2021-08-18 | 2021-08-18 | 一种固件远程升级测试方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703792A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500280A (zh) * | 2022-01-06 | 2022-05-13 | 新华三信息技术有限公司 | 一种固件升级方法、装置以及计算机可读存储介质 |
CN115454465A (zh) * | 2022-08-12 | 2022-12-09 | 北京兴汉网际股份有限公司 | 一种cpld固件的自动更新方法 |
-
2021
- 2021-08-18 CN CN202110948390.5A patent/CN113703792A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500280A (zh) * | 2022-01-06 | 2022-05-13 | 新华三信息技术有限公司 | 一种固件升级方法、装置以及计算机可读存储介质 |
CN114500280B (zh) * | 2022-01-06 | 2023-12-26 | 新华三信息技术有限公司 | 一种固件升级方法、装置以及计算机可读存储介质 |
CN115454465A (zh) * | 2022-08-12 | 2022-12-09 | 北京兴汉网际股份有限公司 | 一种cpld固件的自动更新方法 |
CN115454465B (zh) * | 2022-08-12 | 2023-04-25 | 北京兴汉网际股份有限公司 | 一种cpld固件的自动更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113703792A (zh) | 一种固件远程升级测试方法、装置、服务器及介质 | |
CN108563579B (zh) | 白盒测试方法、装置、系统及存储介质 | |
CN113407393B (zh) | 芯片验证方法、终端设备、验证平台以及存储介质 | |
CN112068852B (zh) | 基于国产服务器的开源软件安装方法、系统及设备和介质 | |
CN103049404A (zh) | 一种获取安卓手机型号的方法和系统 | |
CN111556158A (zh) | 物联网平台的接入方法、接入装置、接入设备及存储介质 | |
CN112256505A (zh) | 一种服务器稳定性测试方法、装置及相关组件 | |
CN111290802B (zh) | Bmc内部设备的信息解析方法、装置及可读存储介质 | |
CN111008106B (zh) | 一种服务器监控管理方法、装置及电子设备和存储介质 | |
CN113220332A (zh) | Bios固件刷新测试方法、装置、电子设备及存储介质 | |
CN116382746A (zh) | 固件升级方法、装置、设备及介质 | |
CN114064079A (zh) | 算法应用元的打包方法及装置、设备、存储介质 | |
CN113971130A (zh) | 软件性能测试方法、装置、设备及存储介质 | |
CN103389909B (zh) | 一种渲染农场节点虚拟化部署系统及其应用 | |
CN106095643A (zh) | 系统参数存取的设定方法及其服务器 | |
CN115687110A (zh) | 物联网终端设备测试系统及测试方法 | |
CN115145634A (zh) | 一种系统管理软件自适配方法、装置及介质 | |
CN115080113A (zh) | 项目代码检测方法和装置、可读存储介质、电子设备 | |
CN114328159A (zh) | 异常语句的确定方法、装置、设备及计算机可读存储介质 | |
CN116893731A (zh) | 一种服务器测试实验室的节能方法、系统、装置及介质 | |
CN116627682B (zh) | 基于共享内存的远程工业信息检测方法及装置 | |
CN202662000U (zh) | 一种渲染农场节点虚拟化部署装置 | |
CN115827044A (zh) | 一种bios选项配置方法、装置、设备及可读存储介质 | |
CN117076227A (zh) | 硬盘背板监控功能的模拟测试系统、方法、装置及介质 | |
CN115473803A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211126 |
|
WW01 | Invention patent application withdrawn after publication |