一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动化测试OpenStack集群稳定性的方法及应用与流程

2021-12-14 22:46:00 来源:中国专利 TAG:
自动化测试openstack集群稳定性的方法及应用
技术领域
:1.本发明是关于云计算领域,特别是关于一种自动化测试openstack集群稳定性的方法及应用。
背景技术
::2.openstack是一个开源的云计算平台,旨在为所有类型的云提供简单易实施、支持大规模扩展、功能丰富的解决方案。openstack作为一个开源的云操作系统,被很多厂商用以二次开发出公有云、私有云和混合云等解决方案,应用十分广泛,但是目前openstack还没有一套完整的自动化测试体系,虽然有不少测试工具可供使用,但是这些测试工具的使用需要大量的人工参与,极大的提高了人工成本和测试风险,同时降低了项目测试的效率和质量。目前虽然rally技术可以对openstack进行性能、api等方面的测试,但是上述问题依然存在。3.公开于该
背景技术
:部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。技术实现要素:4.本发明的目的在于提供一种自动化测试openstack集群稳定性的方法及应用,其能够通过配置集群环境文件,实现对不同的openstack环境进行自动化测试openstack集群的稳定性,这样可以忽略openstack集群环境的细微差异。5.为实现上述目的,本发明的实施例提供了一种自动化测试openstack集群稳定性的方法。6.在本发明的一个或多个实施方式中,所述方法包括:根据集群环境预先设置插件;配置集群环境文件,其中,所述集群环境文件包括:外部组件信息、任务信息和所述插件信息;以及执行稳定性测试。7.在本发明的一个或多个实施方式中,在所述执行稳定性测试前,还包括:初始化数据库,其中,所述数据库包括:任务信息表和部署信息表;检测所述集群环境文件的配置是否正常;若是,执行稳定性测试。8.在本发明的一个或多个实施方式中,所述执行稳定性测试,具体包括:所述插件的测试用例发出任务请求,启动所述稳定性测试。9.在本发明的一个或多个实施方式中,在所述稳定性测试结束后,所述方法还包括:校验所述稳定性测试的结果,生成对应的稳定性测试报告,并统计所述任务的错误记录数量。10.在本发明的一个或多个实施方式中,在所述生成对应的稳定性测试报告后,还包括:更新所述数据库,将所述任务的id和所述稳定性测试报告的id写入所述任务信息表。11.在本发明的一个或多个实施方式中,所述方法还包括:将每次任务的所述错误记录数量累加得到总错误数量;判断所述总错误数量是否超出配置的所述外部组件信息的上限;若否,重新检测所述集群环境文件的配置是否正常。12.在本发明的另一个方面当中,提供了一种自动化测试openstack集群稳定性的装置,其包括配置模块和测试模块。13.配置模块用于根据集群环境预先设置插件;以及配置集群环境文件,其中,所述集群环境文件包括:外部组件信息、任务信息和所述插件信息。14.测试模块用于执行稳定性测试。15.在本发明的一个或多个实施方式中,所述配置模块还用于:在所述执行稳定性测试前,初始化数据库,其中,所述数据库包括:任务信息表和部署信息表;检测所述集群环境文件的配置是否正常;若是,执行稳定性测试。16.在本发明的一个或多个实施方式中,所述测试模块还用于:所述插件的测试用例发出任务请求,启动所述稳定性测试。17.在本发明的一个或多个实施方式中,所述测试模块还用于:在所述稳定性测试结束后,所述方法还包括:校验所述稳定性测试的结果,生成对应的稳定性测试报告,并统计所述任务的错误记录数量。18.在本发明的一个或多个实施方式中,所述配置模块还用于:在所述生成对应的稳定性测试报告后,还包括:更新所述数据库,将所述任务的id和所述稳定性测试报告的id写入所述任务信息表。19.在本发明的一个或多个实施方式中,所述配置模块还用于:将每次任务的所述错误记录数量累加得到总错误数量;判断所述总错误数量是否超出配置的所述外部组件信息的上限;若否,重新检测所述集群环境文件的配置是否正常。20.在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的自动化测试openstack集群稳定性方法。21.在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的自动化测试openstack集群稳定性方法的步骤。22.与现有技术相比,根据本发明实施方式的自动化测试openstack集群稳定性的方法及应用,能够把openstack的稳定性测试进一步封装,使测试过程透明化;针对不同的openstack环境,只需要通过调整相关配置实现自动化测试openstack集群的稳定性;因此对于自动化测试的具体实现不再重要,对于openstack集群环境的细微差异也可以忽略,实现openstack集群稳定性测试的自动化。附图说明23.图1是根据本发明一实施方式的自动化测试openstack集群稳定性的方法的流程图;24.图2是根据本发明一实施方式的自动化测试openstack集群稳定性的方法的扩展流程图;25.图3是根据本发明一实施方式的自动化测试openstack集群稳定性的装置的结构图;26.图4是根据本发明一实施方式的自动化测试openstack集群稳定性的计算设备的硬件结构图。具体实施方式27.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。28.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。29.以下结合附图,详细说明本发明各实施例提供的技术方案。30.实施例131.如图1所示,介绍本发明的一个实施例中自动化测试openstack集群稳定性的方法,该方法包括如下步骤。32.在步骤s101中,根据集群环境预先设置插件。33.预先设置插件用于给openstack集群测试配置预设条件,例如,可以通过添加rally的自定义插件以适应这里不同的openstack环境。34.rally作为openstack一个独立项目,可通过模拟高并发场景的压力测试来测试云环境的性能和规模。rally可对已经部署完成的云环境进行测试,还支持部署云环境,自身提供部署引擎。rally能够自动安装和运行tempest测试云环境,并对rally测试结果生成html格式报告文档。rally的数据库则用于存放测试结果。35.在步骤s102中,配置集群环境文件。36.配置集群环境文件,需要根据不同的openstack环境信息和具体的稳定性测试需求配置setting.conf文件(即任务信息)和stable.json文件(即外部组件信息和插件信息)。37.任务信息包括请求和响应的等待时间或超时时间、各组件的配置信息,举例来说,nova创建虚机所需的镜像、volume和glance的存储类型、大小等配置信息。外部组件信息包括执行时间、执行并发数量、错误处理机制等配置信息。38.在步骤s103中,执行稳定性测试。39.在集群环境文件配置结束,执行rally部分,即执行自动化脚本进行稳定性测试。40.通过配置集群环境文件,实现对不同的openstack环境进行自动化测试openstack集群的稳定性,无需手动在环境中创建预置资源,这样可以忽略openstack集群环境的细微差异。41.实施例242.如图2所示,介绍本发明的又一个实施例中自动化测试openstack集群稳定性的方法,该方法包括如下步骤。43.在步骤s201中,根据集群环境预先设置插件。44.预先设置插件用于给openstack集群测试配置预设条件,例如,可以通过添加rally的自定义插件以适应这里不同的openstack环境。45.rally作为openstack一个独立项目,可通过模拟高并发场景的压力测试来测试云环境的性能和规模。rally可对已经部署完成的云环境进行测试,还支持部署云环境,自身提供部署引擎。rally能够自动安装和运行tempest测试云环境,并对rally测试结果生成html格式报告文档。rally的数据库则用于存放测试结果。46.在步骤s202中,配置集群环境文件。47.配置集群环境文件,需要根据不同的openstack环境信息和具体的稳定性测试需求配置setting.conf文件(即任务信息)和stable.json文件(即外部组件信息和插件信息)。48.任务信息包括请求和响应的等待时间或超时时间、各组件的配置信息,举例来说,nova创建虚机所需的镜像、volume和glance的存储类型、大小等配置信息。外部组件信息包括执行时间、执行并发数量、错误处理机制等配置信息。49.在步骤s203中,初始化数据库,并检测集群环境文件的配置是否正常。50.数据库包括任务信息表和部署信息表,部署信息表用于关联当前openstack环境,任务信息表用于记录每次任务的id和其关联的报告id。51.集群环境文件包括外部组件信息、任务信息的和插件。52.检测外部组件的配置,在本实施例中,外部组件的配置是针对整个自动化流程的配置,举例来说,外部组件可以包括执行时间、执行并发数量、错误处理机制等配置信息,若该外部组件的配置触发临界值,即外部组件配置触发结束,将会结束自动化测试任务。53.检测任务信息的配置,任务信息的配置是针对单个任务的配置,在自动化测试过程中,任务的数量不做具体限定,举例来说,任务信息可以是nova创建虚拟机所需的镜像、请求和响应的等待或超时时间、volume或glance的存储类型和大小,若任务信息配置异常则触发结束,并读取当前任务的配置信息。54.检测插件的配置是否正常,若检测到插件异常,则触发结束;若检测到插件正常,则加载所有的插件。55.在步骤s204中,插件的测试用例发出任务请求,启动稳定性测试。56.根据插件的测试用例,调用clientapi,请求openstack服务,api请求发出后,会启动查询进程轮询结果。在本实施例中,调用的client是rally自带的,并非openstack环境的client。57.在步骤s205中,校验稳定性测试的结果,生成对应的稳定性测试报告,并统计任务的错误记录数量。58.若测试失败或在达到任务配置的超时时间后仍然没有得到响应,则该任务请求异常,单个任务若在执行过程中出现异常,则本次任务结束。根据上述轮询的结果进行校验,生成本次任务的稳定性测试报告。59.在步骤s206中,更新数据库,将任务的id和稳定性测试报告的id写入任务信息表。60.在任务报告生成后会更新数据库,在本实施例中,更新数据库中的任务信息表,插入一条任务记录,即本次任务的id以及本次任务的稳定性测试报告的id。61.在步骤s207中,将每次任务的错误记录数量累加得到总错误数量。62.在每次任务结束后,统计本次任务的日志,在日志中记录本次任务的错误记录数量用以累积总错误数量,当总错误数量达到预设值时,则会触发外部结束的机制,即外部组件的配置触发临界值,外部组件配置触发结束,结束稳定性测试。63.在步骤s208中,判断总错误数量是否超出配置的外部组件信息的上限。64.判断当前任务结束后,总错误数量是否超出配置的外部组件信息的上限,若总错误数量达到外部配置上限,则触发结束机制,若总错误数量没有达到外部配置上限,本次任务正常结束,并重新检测集群环境文件的配置是否正常,进行下一个任务的稳定性测试。65.以图2为例,根据集群的环境调整插件,由于是针对虚拟机的生命周期进行稳定性测试,所以只需加载虚拟机相关的插件即可,测试用例包括创建虚拟机、挂载网卡、卸载网卡、挂载磁盘、卸载磁盘、开关机、重启、删除。根据稳定性测试的需求配置任务信息和外部组件信息的配置文件,由于外部组件信息是针对整个稳定性测试服务,所以需要配置openstack集群的各个组件的相关信息,如nova创建虚机请求、响应的等待时间、所用存储类型、镜像id、模板id、所用主机;任务信息则是针对单个任务和插件,配置任务的执行策略、时间、并发数量。配置完成且配置信息无异常,则启动自动化测试服务,自动化测试服务根据配置的测试用例、执行时间、并发数量执行稳定性测试,具体配置信息如下:concurrency20,即20个并发进程;stop‑in‑hours168,即持续执行上述的虚拟机生命周期测试流程7*24小时以验证集群稳定性。在稳定性测试结束后,生成对应的报告并更新数据库,进行下一个任务的稳定性测试,直至所有任务测试完成,或总错误数量达到上限,结束稳定性测试。66.如图3所示,介绍根据本发明具体实施方式的自动化测试openstack集群稳定性的装置。67.在本发明的实施方式中,自动化测试openstack集群稳定性的装置包括配置模块301和测试模块302。68.配置模块301用于根据集群环境预先设置插件;以及配置集群环境文件,其中,集群环境文件包括:外部组件信息、任务信息和插件信息。69.测试模块302用于执行稳定性测试。70.配置模块301还用于:在执行稳定性测试前,初始化数据库,其中,数据库包括:任务信息表和部署信息表;检测集群环境文件的配置是否正常;若是,执行稳定性测试。71.测试模块302还用于:插件的测试用例发出任务请求,启动稳定性测试。72.测试模块302还用于:在稳定性测试结束后,校验稳定性测试的结果,生成对应的稳定性测试报告,并统计任务的错误记录数量。73.配置模块301还用于:在生成对应的稳定性测试报告后,更新数据库,并将任务的id和稳定性测试报告的id写入任务信息表。74.配置模块301还用于:将每次任务的错误记录数量累加得到总错误数量;判断总错误数量是否超出配置的外部组件信息的上限;若否,重新检测集群环境文件的配置是否正常。75.图4示出了根据本说明书的实施例的用于自动化测试openstack集群稳定性的计算设备40的硬件结构图。如图4所示,计算设备40可以包括至少一个处理器401、存储器402(例如非易失性存储器)、内存403和通信接口404,并且至少一个处理器401、存储器402、内存403和通信接口404经由总线405连接在一起。至少一个处理器401执行在存储器402中存储或编码的至少一个计算机可读指令。76.应该理解,在存储器402中存储的计算机可执行指令当执行时使得至少一个处理器401进行本说明书的各个实施例中以上结合图1‑4描述的各种操作和功能。77.在本说明书的实施例中,计算设备40可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。78.根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1‑4描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。79.根据本发明实施方式的自动化测试openstack集群稳定性的方法及应用,能够把openstack的稳定性测试进一步封装,使测试过程透明化;针对不同的openstack环境,只需要通过调整相关配置实现自动化测试openstack集群的稳定性;因此对于自动化测试的具体实现不再重要,对于openstack集群环境的细微差异也可以忽略,实现openstack集群稳定性测试的自动化。80.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd‑rom、光学存储器等)上实施的计算机程序产品的形式。81.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。82.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。83.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。84.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献