CN116028084A - 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 - Google Patents
一种基于OpenStack云平台跨版本热升级的方法、系统及终端 Download PDFInfo
- Publication number
- CN116028084A CN116028084A CN202310032059.8A CN202310032059A CN116028084A CN 116028084 A CN116028084 A CN 116028084A CN 202310032059 A CN202310032059 A CN 202310032059A CN 116028084 A CN116028084 A CN 116028084A
- Authority
- CN
- China
- Prior art keywords
- openstack
- version
- cloud platform
- upgraded
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012986 modification Methods 0.000 claims abstract description 18
- 230000004048 modification Effects 0.000 claims abstract description 18
- 238000009434 installation Methods 0.000 claims abstract description 11
- 241001323321 Pluto Species 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 12
- 241000883510 Kolla Species 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于OpenStack云平台跨版本热升级的方法、系统及终端。该方法包括:对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份;将目标OpenStack版本的容器镜像导入当前镜像仓库;根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包;通过覆盖待升级OpenStack版本的部署目录,合并kolla‑ansible部署代码;根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。该系统包括:备份模块、私库管理模块、基础包安装升级模块、部署代码合并模块、配置参数修改模块以及升级模块。通过本申请,能够实现OpenStack跨版本在线快速升级,有效提高升级效率。
Description
技术领域
本申请涉及OpenStack集群版本升级技术领域,特别是涉及一种基于OpenStack云平台跨版本热升级的方法、系统及终端。
背景技术
OpenStack是一个开源的云计算管理平台项目,是一系列开源软件项目的组合,通常,OpenStack每隔半年左右会更新一次版本。因此,如何对OpenStack进行版本升级,是个重要的技术问题。
而Kolla-ansible作为一个成熟的结构相对简单的项目,在业内使用广泛,可以对OpenStack集群进行部署、修改和升级等操作。Kolla-ansible虽然可以对版本进行升级,但仅限于相同openstack版本内,组件代码的升级。目前,对OpenStack进行跨版本升级时,通常使用离线升级的方式。具体地,需要关停虚拟机,对旧版本OpenStack进行迁移或备份,然后将虚拟机迁移到新版本的OpenStack,从而完成OpenStack跨版本升级。或者采用Kolla-ansible在线升级的方式,需要修改基础包、部署代码、进行旧版本OpenStack的迁移或备份、重新部署等操作。
然而,目前OpenStack跨版本升级的方法中,如果采用离线升级,需要虚拟机关机状态下运行,会影响虚拟机的正常运行,从而影响升级效率。如果采用Kolla-ansible在线升级,由于基础包版本差异较大、部署代码老旧、组件代码差异较大,进行旧版本OpenStack的迁移或备份、重新部署等操作比较繁琐,升级门槛较高,也会严重影响升级效率。因此,目前OpenStack跨版本升级的方法使得升级效率较低。
发明内容
本申请提供了一种基于OpenStack云平台跨版本热升级的方法、系统及终端,以解决现有技术中的OpenStack云平台跨版本热升级方法升级效率较低的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于OpenStack云平台跨版本热升级的方法,所述方法包括:
对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,待升级OpenStack环境对应待升级OpenStack版本,所述OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件;
将目标OpenStack版本的容器镜像导入当前镜像仓库,所述当前镜像仓库中包括有待升级OpenStack版本的容器镜像;
根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包;
通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码;
根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;
根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
可选地,根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数后,所述方法还包括:
判断组件部署过程中是否有升级报错;
如果是,针对升级报错进行修改并重新进行组件部署;
如果否,继续执行下一步。
可选地,所述针对升级报错进行修改并重新进行组件部署,包括:
如果是haproxy组件部署过程中出现443端口被占用,查询并杀掉占用进程后对haproxy组件重新部署;
如果是neutron组件部署过程中出现分支错误,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署;
如果升级报错为pluto监控报错,则删除pluto容器并重新部署pluto组件。
可选地,重新进行组件部署的方法为:对多个组件逐一单独升级或者对多个组件进行全量升级。
可选地,所述根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数,包括:
对待升级OpenStack环境的globals.yml文件进行修改,删除不再维护的组件,增加与目标OpenStack版本相匹配的新组件;
在passwords.yml文件中增加与目标OpenStack版本相匹配的新组件的密码配置;
根据目标OpenStack版本的multinode文件,对multinode文件进行修改。
可选地,所述根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包,包括:
根据所识别到的目标OpenStack版本,安装kolla-ansible基础依赖包;
根据所识别到的目标OpenStack版本,升级docker基础包。
一种基于OpenStack云平台跨版本热升级的系统,所述系统包括:
备份模块,用于对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,待升级OpenStack环境对应待升级OpenStack版本,所述OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件;
私库管理模块,用于将目标OpenStack版本的容器镜像导入当前镜像仓库,所述当前镜像仓库中包括有待升级OpenStack版本的容器镜像;
基础包安装升级模块,用于根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包;
部署代码合并模块,用于通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码;
配置参数修改模块,用于根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;
升级模块,用于根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
可选地,所述系统中还包括:
校验模块,用于判断组件部署过程中是否有升级报错,如果是,针对升级报错进行修改并重新进行组件部署,如果否,继续执行下一步。
可选地,所述校验模块包括:
第一校验单元,用于如当haproxy组件部署过程中出现443端口被占用时,查询并杀掉占用进程后对haproxy组件重新部署;
第二校验单元,用于当neutron组件部署过程中出现分支错误时,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署;
第三校验单元,用于当升级报错为pluto监控报错时,删除pluto容器并重新部署pluto组件。
一种终端,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,
所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如上任意一项所述的基于OpenStack云平台跨版本热升级的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种基于OpenStack云平台跨版本热升级的方法,该方法首先对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,其次将目标OpenStack版本的容器镜像导入当前镜像仓库,使得当前镜像仓库中同时包括有待升级OpenStack版本的容器镜像和原始容器镜像。然后根据所识别到的目标OpenStack版本,安装升级与目标OpenStack版本相匹配的基础包,并通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码,以及,根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;最后,根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。本实施例在进行OpenStack跨版本升级时,并不需要关停虚拟机,可以在不影响虚拟机正常运行的前提下实现升级,因此,能够有效提高升级效率。而且,通过将目标OpenStack版本的容器镜像导入当前镜像仓库,从而实现私库管理;安装升级基础包时,根据不同的目标OpenStack版本,能够自动化安装对应的基础包,最终定制化修改部署配置参数,及时更新需要维护的组件,并有效避免新增组件被遗漏,且这些操作可以一键自动化完成,从而能够有效提高OpenStack跨版本升级效率。另外,本实施例还包括对组件部署过程中的校正,当出现升级报错时,自动化修改组件并重新部署,从而进一步提高升级的效率和准确性。针对不同的升级报错,还可以对组件进行全量升级或者单独升级某一个组件,升级方法更加灵活。
本申请还提供一种基于OpenStack云平台跨版本热升级的系统,该系统主要包括:备份模块、私库管理模块、基础包安装升级模块、部署代码合并模块、配置参数修改模块以及升级模块。通过备份模块,能够对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行一键备份,从而提高升级效率。通过私库管理模块能够将待升级OpenStack版本的容器镜像和原有的容器镜像都保存至镜像仓库中,从而便于提取使用,提高跨版本升级效率。通过基础包安装升级模块,能够实现一键自动化安装kolla-ansible基础依赖包并升级docker基础包。通过部署代码合并模块的设置,能够合并kolla-ansible部署代码,通过配置参数修改模块,能够定制化修改OpenStack云平台配置参数,从而及时更新需要维护的组件,并有效避免新增组件被遗漏,且这些操作可以一键自动化完成,从而能够有效提高OpenStack跨版本升级效率。
本申请还提供一种终端,该终端也具有如上基于OpenStack云平台跨版本热升级的方法和系统相应的技术效果,在此不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种基于OpenStack云平台跨版本热升级的方法的流程示意图;
图2为本申请实施例所提供的一种基于OpenStack云平台跨版本热升级的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种基于OpenStack云平台跨版本热升级的方法的流程示意图。由图1可知,本实施例中基于OpenStack云平台跨版本热升级的方法,主要包括如下过程:
S1:对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份。其中,待升级OpenStack环境对应待升级OpenStack版本,OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件。部署目录为/usr/share/kolla-ansible/。
S2:将目标OpenStack版本的容器镜像导入当前镜像仓库,当前镜像仓库中包括有待升级OpenStack版本的容器镜像。
通过步骤S2实现私库管理,从而确保镜像仓库中既有老版本镜像,也有新版本镜像。
S3:根据所识别到的目标OpenStack版本,安装升级与目标OpenStack版本相匹配的基础包。
具体地,步骤S3包括:
S31:根据所识别到的目标OpenStack版本,安装kolla-ansible基础依赖包。
S32:根据所识别到的目标OpenStack版本,升级docker基础包。
本实施例中安装升级基础包时,根据识别到的不同OpenStack版本,在线自动化安装对应的kolla-ansible基础依赖包和docker基础包,这种安装方式能够有效节省时间,提高OpenStack跨版本升级效率。
S4:通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码。
具体地,解压缩新版本的kolla-ansible部署代码并安装,覆盖原有部署目录,使部署代码合并。
S5:根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数。
具体地,步骤S5包括:
S51:对待升级OpenStack环境的globals.yml文件进行修改,删除不再维护的组件,增加与目标OpenStack版本相匹配的新组件。
S52:在passwords.yml文件中增加与目标OpenStack版本相匹配的新组件的密码配置。
S53:根据目标OpenStack版本的multinode文件,对multinode文件进行修改。
由于新版本相比于老版本,组件会有差异,通过以上步骤S51-S53,升级工具会根据识别到的待升级OpenStack版本,自动化修改老版本globals.yml文件,去掉不再维护的组件,添加新组件,从而能够节省空间,提高升级效率。Multinode文件从新版本部署目录拷贝并根据老文件做对应修改,避免新增组件有遗漏,确保OpenStack跨版本升级的准确性和升级效率。
S6:根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
实际应用中,可以多次实践不同版本间的升级,从而完善升级工具对不同版本的支持,最终实现各个openstack版本从低版本到高版本的自动化升级。
进一步地,在步骤S5之后,还包括步骤S7:判断组件部署过程中是否有升级报错。
如果组件部署过程中有升级报错,执行步骤S8:针对升级报错进行修改并重新进行组件部署。如果组件部署过程中没有升级报错,继续执行步骤S6,根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
具体地,步骤S8包括如下过程:
S81:如果是haproxy组件部署过程中出现443端口被占用,查询并杀掉占用进程后对haproxy组件重新部署。
也就是,如果是haproxy组件升级,部署前会拷贝haproxy_skyline.pem到/etc/kolla/config/haproxy/目录,部署时若出现443端口被占用,则查询并杀掉占用进程重新部署,杀掉占用进程的方法,在操作系统中执行的命令是kill-9进程号。
S82:如果是neutron组件部署过程中出现分支错误,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署。
S83:如果升级报错为pluto监控报错,则删除pluto容器并重新部署pluto组件。
通过以上步骤S81-S83,能够根据不同的情况,自动化修改并部署组件,从而进一步提高升级效率。
本实施例中重新进行组件部署的方法为:对多个组件逐一单独升级或者对多个组件进行全量升级。也就是通过升级工具定义多种执行方法,当组件升级报错时,根据情况具体选择全量升级或者逐一单独升级,OpenStack跨版本升级多样化,更加灵活。
采用本实施例中的基于OpenStack云平台跨版本热升级的方法,实际应用中可以编写一键热升级工具,从而能够有效解决跨OpenStack版本难以升级的问题,例如可以简单快速地实现ICOS554到ICOS81的热升级,对应OpenStack版本是从O版本到R版本的升级。根据本实施例中的方法,项目交付人员只要有一定的kolla-ansible和openstack基础,即可操作升级,能够大大降低升级操作难度和升级门槛,便于推广应用。针对不同版本间的升级,可以编写多个升级工具,也可以在同一个升级工具中同时兼容不同版本的升级。
实施例二
在图1所示实施例的基础上参见图2,图2为本申请实施例所提供的一种基于OpenStack云平台跨版本热升级的系统的结构示意图。
由图2可知,本实施例中基于OpenStack云平台跨版本热升级的系统,主要包括:备份模块、私库管理模块、基础包安装升级模块、部署代码合并模块、配置参数修改模块以及升级模块。其中,备份模块,用于对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,待升级OpenStack环境对应待升级OpenStack版本,OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件;私库管理模块,用于将目标OpenStack版本的容器镜像导入当前镜像仓库,当前镜像仓库中包括有待升级OpenStack版本的容器镜像;基础包安装升级模块,用于根据所识别到的目标OpenStack版本,安装升级与目标OpenStack版本相匹配的基础包;部署代码合并模块,用于通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码;配置参数修改模块,用于根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;升级模块,用于根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
进一步地,该系统中还包括:校验模块,用于判断组件部署过程中是否有升级报错,如果是,针对升级报错进行修改并重新进行组件部署,如果否,继续执行下一步。
校验模块包括:第一校验单元、第二校验单元和第三校验单元。其中,第一校验单元,用于如当haproxy组件部署过程中出现443端口被占用时,查询并杀掉占用进程后对haproxy组件重新部署;第二校验单元,用于当neutron组件部署过程中出现分支错误时,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署;第三校验单元,用于当升级报错为pluto监控报错时,删除pluto容器并重新部署pluto组件。
该实施例中第一校验单元、第二校验单元和第三校验单元重新进行组件部署时,可以对多个组件逐一单独升级,也可以对多个组件进行全量升级。
进一步地,配置参数修改模块包括:globals.yml文件修改单元、passwords.yml文件修改单元和multinode文件修改单元。其中,globals.yml文件修改单元,用于对待升级OpenStack环境的globals.yml文件进行修改,删除不再维护的组件,增加与目标OpenStack版本相匹配的新组件;passwords.yml文件修改单元,用于在passwords.yml文件中增加与目标OpenStack版本相匹配的新组件的密码配置;multinode文件修改单元,用于根据目标OpenStack版本的multinode文件,对multinode文件进行修改。
基础包安装升级模块包括:基础包安装单元和基础包升级单元。其中,基础包安装单元,用于根据所识别到的目标OpenStack版本,安装kolla-ansible基础依赖包;基础包升级单元,用于根据所识别到的目标OpenStack版本,升级docker基础包。
本实施例中基于OpenStack云平台跨版本热升级的系统,可以采用升级工具的方式实现,通过编写一键升级工具,进行OpenStack跨版本升级时,只需要执行一键升级工具即可完成升级。采用这种升级工具,能够实现OpenStack云平台跨版本在线升级,不影响虚拟机正常运行,有利于提高升级效率。
该实施例中未详细描述的部分,可以参见图1所示的实施例,两个实施例之间可以互相参照,在此不再赘述。
实施例三
本申请还提供一种终端,该终端包括:处理器以及与处理器通信连接的存储器,其中,存储器中存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行如上基于OpenStack云平台跨版本热升级的方法。
处理器所执行的基于OpenStack云平台跨版本热升级的方法如下:
1)对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,待升级OpenStack环境对应待升级OpenStack版本,所述OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件。
2)将目标OpenStack版本的容器镜像导入当前镜像仓库,所述当前镜像仓库中包括有待升级OpenStack版本的容器镜像。
3)根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包。
4)通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码。
5)根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数。
6)判断组件部署过程中是否有升级报错。
7)如果组件部署过程中有升级报错,针对升级报错进行修改并重新进行组件部署后继续执行下一步。
具体包括三种情况:如果是haproxy组件部署过程中出现443端口被占用,查询并杀掉占用进程后对haproxy组件重新部署;如果是neutron组件部署过程中出现分支错误,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署;如果升级报错为pluto监控报错,则删除pluto容器并重新部署pluto组件。
8)如果组件部署过程中没有升级报错,直接执行下一步。
9)根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
该实施例中未详细描述的部分,可以参见图1和图2所示的实施例,两个实施例之间可以互相参照,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于OpenStack云平台跨版本热升级的方法,其特征在于,所述方法包括:
对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,待升级OpenStack环境对应待升级OpenStack版本,所述OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件;
将目标OpenStack版本的容器镜像导入当前镜像仓库,所述当前镜像仓库中包括有待升级OpenStack版本的容器镜像;
根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包;
通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码;
根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;
根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
2.根据权利要求1所述的一种基于OpenStack云平台跨版本热升级的方法,其特征在于,根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数后,所述方法还包括:
判断组件部署过程中是否有升级报错;
如果是,针对升级报错进行修改并重新进行组件部署;
如果否,继续执行下一步。
3.根据权利要求2所述的一种基于OpenStack云平台跨版本热升级的方法,其特征在于,所述针对升级报错进行修改并重新进行组件部署,包括:
如果是haproxy组件部署过程中出现443端口被占用,查询并杀掉占用进程后对haproxy组件重新部署;
如果是neutron组件部署过程中出现分支错误,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署;
如果升级报错为pluto监控报错,则删除pluto容器并重新部署pluto组件。
4.根据权利要求2所述的一种基于OpenStack云平台跨版本热升级的方法,其特征在于,重新进行组件部署的方法为:对多个组件逐一单独升级或者对多个组件进行全量升级。
5.根据权利要求1所述的一种基于OpenStack云平台跨版本热升级的方法,其特征在于,所述根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数,包括:
对待升级OpenStack环境的globals.yml文件进行修改,删除不再维护的组件,增加与目标OpenStack版本相匹配的新组件;
在passwords.yml文件中增加与目标OpenStack版本相匹配的新组件的密码配置;
根据目标OpenStack版本的multinode文件,对multinode文件进行修改。
6.根据权利要求1所述的一种基于OpenStack云平台跨版本热升级的方法,其特征在于,所述根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包,包括:
根据所识别到的目标OpenStack版本,安装kolla-ansible基础依赖包;
根据所识别到的目标OpenStack版本,升级docker基础包。
7.一种基于OpenStack云平台跨版本热升级的系统,其特征在于,所述系统包括:
备份模块,用于对待升级OpenStack环境的业务运行数据库以及OpenStack云平台配置参数进行备份,待升级OpenStack环境对应待升级OpenStack版本,所述OpenStack云平台配置参数包括:/etc/kolla/config/目录、globals.yml文件、multinode文件、passwords.yml文件、部署目录以及容器镜像registry私库文件;
私库管理模块,用于将目标OpenStack版本的容器镜像导入当前镜像仓库,所述当前镜像仓库中包括有待升级OpenStack版本的容器镜像;
基础包安装升级模块,用于根据所识别到的目标OpenStack版本,安装升级与所述目标OpenStack版本相匹配的基础包;
部署代码合并模块,用于通过覆盖待升级OpenStack版本的部署目录,合并kolla-ansible部署代码;
配置参数修改模块,用于根据待升级OpenStack版本和目标OpenStack版本的组件差异,定制化修改OpenStack云平台配置参数;
升级模块,用于根据定制化修改后的OpenStack云平台配置参数,进行目标OpenStack版本升级。
8.根据权利要求7所述的一种基于OpenStack云平台跨版本热升级的系统,其特征在于,所述系统中还包括:
校验模块,用于判断组件部署过程中是否有升级报错,如果是,针对升级报错进行修改并重新进行组件部署,如果否,继续执行下一步。
9.根据权利要求8所述的一种基于OpenStack云平台跨版本热升级的系统,其特征在于,所述校验模块包括:
第一校验单元,用于如当haproxy组件部署过程中出现443端口被占用时,查询并杀掉占用进程后对haproxy组件重新部署;
第二校验单元,用于当neutron组件部署过程中出现分支错误时,在待升级OpenStack环境的业务运行数据库中回退版本号,并对neutron组件重新部署;
第三校验单元,用于当升级报错为pluto监控报错时,删除pluto容器并重新部署pluto组件。
10.一种终端,其特征在于,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,
所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行权利要求1至6中任意一项所述的基于OpenStack云平台跨版本热升级的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310032059.8A CN116028084A (zh) | 2023-01-10 | 2023-01-10 | 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310032059.8A CN116028084A (zh) | 2023-01-10 | 2023-01-10 | 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028084A true CN116028084A (zh) | 2023-04-28 |
Family
ID=86070345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310032059.8A Pending CN116028084A (zh) | 2023-01-10 | 2023-01-10 | 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028084A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991449A (zh) * | 2023-09-28 | 2023-11-03 | 阿里云计算有限公司 | 内核子系统热升级方法、设备及存储介质 |
-
2023
- 2023-01-10 CN CN202310032059.8A patent/CN116028084A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991449A (zh) * | 2023-09-28 | 2023-11-03 | 阿里云计算有限公司 | 内核子系统热升级方法、设备及存储介质 |
CN116991449B (zh) * | 2023-09-28 | 2024-03-08 | 阿里云计算有限公司 | 内核子系统热升级方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622298B (zh) | 一种软件测试系统及方法 | |
US7310801B2 (en) | Servicing a component-based software product throughout the software product lifecycle | |
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
CN102023881B (zh) | 一种软件升级方法、装置及嵌入式设备 | |
CN107493290B (zh) | Android智能电视系统软件进行OTA升级的方法 | |
CN102193805B (zh) | 一种软件补丁升级装置及方法 | |
CN105930236A (zh) | 一种基于BMS Bootloader升级的应用程序版本回退方法 | |
CN103473067A (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
CN103530150A (zh) | 一种Linux操作系统远程更新的方法 | |
CN110633091A (zh) | 一种电子模块及其软件无线升级方法 | |
US20200026524A1 (en) | System and method for performing an image-based update | |
CN104360952A (zh) | 一种软件测试系统及方法 | |
CN111651304B (zh) | 基于双芯智能电表的软件恢复方法、装置和计算机设备 | |
CN111104173A (zh) | 一种引导程序的保护设计方法 | |
CN116028084A (zh) | 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 | |
CN114741096A (zh) | 升级处理方法、设备及存储介质 | |
CN112416379B (zh) | 一种应用程序安装方法、装置、计算设备及可读存储介质 | |
US8689048B1 (en) | Non-logging resumable distributed cluster | |
US7340738B2 (en) | Time optimized replacement of a software application | |
CN111949290B (zh) | 一种热补丁管理方法、装置、电子设备及存储介质 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN100504787C (zh) | 一种软件安装的虚拟执行方法及系统 | |
CN113204359A (zh) | 一种服务器在线升级方法及装置 | |
CN111897583A (zh) | 一种设备启动方法及嵌入式设备 | |
CN117130987B (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 |