一种基于kolla-ansible的OpenStack跨版本升级方法技术

技术编号:28126294 阅读:17 留言:0更新日期:2021-04-19 11:41
本申请公开了一种基于kolla

【技术实现步骤摘要】
一种基于kolla

ansible的OpenStack跨版本升级方法


[0001]本申请涉及计算机
,特别涉及一种基于kolla

ansible的OpenStack跨版本升级方法、装置、设备及可读存储介质。

技术介绍

[0002]OpenStack是一个开源的云计算管理平台,发展至今已拥有众多版本,其版本是按照字母表逐一增加,当前最新的版本是V版。虽然OpenStack版本众多,但社区提供的升级方式仅能从当前版本升级到下一个版本。对于较老版本,例如O版本,若想要升级到U版本,按照社区升级方式需要进行6次逐次升级,而且从O版本升级到U版本的过程中,若底层操作系统采用centos,期间还涉及到操作系统版本升级。存在工作量巨大、升级过程繁琐的缺陷,而且多次升级增加了升级风险。

技术实现思路

[0003]本申请的目的是提供一种基于kolla

ansible的OpenStack跨版本升级方法、装置、设备及可读存储介质,用以解决目前的OpenStack升级方案只支持逐个版本升级,在当前版本和目标版本相差较多时,需要重复多次升级过程,非常繁琐的问题。其具体方案如下:
[0004]第一方面,本申请提供了一种基于kolla

ansible的OpenStack跨版本升级方法,包括:
[0005]根据升级指令,确定OpenStack的目标版本;
[0006]根据所述目标版本,重装集群节点的底层操作系统;
[0007]根据所述目标版本,对所述集群节点的python软件包进行升级;
[0008]在部署节点上安装基础包及依赖文件,并根据所述目标版本对所述部署节点上的kolla

ansible进行升级;
[0009]对kolla

ansible的关联文件和部署配置进行更新;
[0010]执行kolla

ansible,将所述OpenStack跨版本升级至目标版本。
[0011]优选的,所述根据所述目标版本,重装集群节点的底层操作系统,包括:
[0012]在集群节点的底层操作系统不为Centos8且所述目标版本大于T版本时,将所述集群节点的底层操作系统重装为Centos8。
[0013]优选的,所述集群节点包括控制节点,所述根据所述目标版本,重装集群节点的底层操作系统,包括:
[0014]对所述控制节点的docker数据文件及配置文件进行备份;
[0015]将所述控制节点的底层操作系统重装为Centos8;
[0016]在所述控制节点上安装Python的基础包;
[0017]还原所述控制节点上的所述docker数据文件及配置文件;
[0018]判断所述控制节点上是否存在openvswitch

agent容器;
[0019]若存在,则将所述openvswitch

agent容器升级为所述目标版本,并将所述openvswitch

agent容器内的代码替换为OpenStack的当前版本。
[0020]优选的,所述集群节点包括计算节点,所述根据所述目标版本,重装集群节点的底层操作系统,包括:
[0021]对所述计算节点的docker数据文件及配置文件进行备份;
[0022]判断所述计算节点上是否存在虚拟机;若存在,则将所述虚拟机迁移至另一计算节点;
[0023]将所述计算节点的的底层操作系统重装为Centos8;
[0024]在所述控制节点上安装Python的基础包;
[0025]还原所述控制节点上的所述docker数据文件及配置文件;
[0026]将所述控制节点上的openvswitch

agent容器升级为所述目标版本,并将所述openvswitch

agent容器内的代码替换为OpenStack的当前版本。
[0027]优选的,所述根据所述目标版本,对所述集群节点的python软件包进行升级,包括:
[0028]在所述目标版本大于T版本时,将所述集群节点中python软件包的版本升级为3.6。
[0029]优选的,所述对kolla

ansible的关联文件和部署配置进行更新,包括:
[0030]合并kolla

ansible升级前的password.yml文件和kolla

ansible升级后的password.yml文件;
[0031]将kolla

ansible升级前的multinode文件和global.yml文件,更新到kolla

ansible升级后的multinode文件和global.yml文件。
[0032]优选的,所述对kolla

ansible的关联文件和部署配置进行更新,包括:
[0033]将本地仓库中当前版本的镜像文件更新为所述目标版本的镜像文件;
[0034]将kolla

ansible中目标变量的值更新为false,所述目标变量用于表示升级过程中是否显示敏感信息;
[0035]在cinder数据库中将云硬盘的类型设置为默认云硬盘。
[0036]第二方面,本申请提供了一种基于kolla

ansible的OpenStack跨版本升级装置,包括:
[0037]目标版本确定模块:用于根据升级指令,确定OpenStack的目标版本;
[0038]系统重装模块:用于根据所述目标版本,重装集群节点的底层操作系统;
[0039]Python升级模块:用于根据所述目标版本,对所述集群节点的python软件包进行升级;
[0040]部署脚本升级模块:用于在部署节点上安装基础包及依赖文件,并根据所述目标版本对所述部署节点上的kolla

ansible进行升级;
[0041]部署配置更新模块:用于对kolla

ansible的关联文件和部署配置进行更新;
[0042]跨版本升级模块:用于执行kolla

ansible,将所述OpenStack跨版本升级至目标版本。
[0043]第三方面,本申请提供了一种基于kolla

ansible的OpenStack跨版本升级设备,包括:
[0044]存储器:用于存储计算机程序;
[0045]处理器:用于执行所述计算机程序,以实现如上所述的基于kolla

ansible的OpenStack跨版本升级方法。
[0046]第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于kolla

ansible的OpenStack跨版本升级方法,其特征在于,包括:根据升级指令,确定OpenStack的目标版本;根据所述目标版本,重装集群节点的底层操作系统;根据所述目标版本,对所述集群节点的python软件包进行升级;在部署节点上安装基础包及依赖文件,并根据所述目标版本对所述部署节点上的kolla

ansible进行升级;对kolla

ansible的关联文件和部署配置进行更新;执行kolla

ansible,将所述OpenStack跨版本升级至目标版本。2.如权利要求1所述的方法,其特征在于,所述根据所述目标版本,重装集群节点的底层操作系统,包括:在集群节点的底层操作系统不为Centos8且所述目标版本大于T版本时,将所述集群节点的底层操作系统重装为Centos8。3.如权利要求1所述的方法,其特征在于,所述集群节点包括控制节点,所述根据所述目标版本,重装集群节点的底层操作系统,包括:对所述控制节点的docker数据文件及配置文件进行备份;将所述控制节点的底层操作系统重装为Centos8;在所述控制节点上安装Python的基础包;还原所述控制节点上的所述docker数据文件及配置文件;判断所述控制节点上是否存在openvswitch

agent容器;若存在,则将所述openvswitch

agent容器升级为所述目标版本,并将所述openvswitch

agent容器内的代码替换为OpenStack的当前版本。4.如权利要求3所述的方法,其特征在于,所述集群节点包括计算节点,所述根据所述目标版本,重装集群节点的底层操作系统,包括:对所述计算节点的docker数据文件及配置文件进行备份;判断所述计算节点上是否存在虚拟机;若存在,则将所述虚拟机迁移至另一计算节点;将所述计算节点的的底层操作系统重装为Centos8;在所述控制节点上安装Python的基础包;还原所述控制节点上的所述docker数据文件及配置文件;将所述控制节点上的openvswitch

agent容器升级为所述目标版本,并将所述openvswitch

agent容器内的代码替换为OpenStack的当前版本。5.如权利要求1所述的方法,其特征在于,所述根据所述目标版本,对所述集群节点的python软件包进行升级,包括:在所述目标版本大于T版本时,将所述集群节点中python软件包的版本升级为3.6。6.如权利...

【专利技术属性】
技术研发人员:周小维胡玉鹏
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1