一种跨版本运行openstack组件服务的方法

文档序号:10654295阅读:227来源:国知局
一种跨版本运行openstack组件服务的方法
【专利摘要】本发明涉及软件服务管理技术领域,特别是一种跨版本运行openstack组件服务的方法。所述方法包括:在运行版本X的openstack环境中安装python虚拟环境组件,准备版本Y的openstack服务组件,在python虚拟环境中启动版本Y的openstack服务组件。采用本发明提供的方法可以解决在当前openstack运行环境中,对单个或者几个服务组件进行版本升级所面临的软件依赖冲突问题;可应用于跨版本运行openstack组件服务。
【专利说明】
一种跨版本运行openstack组件服务的方法
技术领域
[0001]本发明涉及软件服务管理技术领域,特别是一种跨版本运行openstack组件服务的方法。
【背景技术】
[0002]1、Python和Virtualenv
[0003]virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:
[0004](I)在没有权限的情况下安装新套件;
[0005](2)不同应用可以使用不同的套件版本;
[0006](3)套件升级不影响其他应用。
[0007]2、openstack版本迭代
[0008]随着openstack开源云的快速发展,目前越来越多的云计算开发商以及使用者选择利用openstack来搭建自己的云平台。然而openstack毕竟是一个开源云,由社区进行管理的方式决定了其版本迭代非常迅速,如今几个月就发布一个新的版本。
[0009]当用户所需要的服务组件功能在新的openstack版本中被实现,用户需要升级现有生产环境的服务组件版本,但往往在升级过程中发现新版本与旧版本之间存在很大的环境依赖差异。解决方法之一是对openstack所有服务组件进行整体版本升级;这种方式导致如下问题:生产环境当前的openstack版本除了某个组件需要升级之外,其他组件是不需要后者进行升级的,整体的版本升级不能被接受。
[00?0] 这样openstack用户就迫切需要一种方法,在不增加额外环境、不影响现有生产环境全局空间里的服务运行的前提下,对openstack的单个或者其中的多个组件服务进行版本升级,以实现多个openstack版本的组件服务同时运行而不出现环境依赖冲突等问题。

【发明内容】

[0011]本发明解决的技术问题在于提供一种跨版本运行openstack组件服务的方法,实现在不增加额外环境、不影响现有环境全局空间里的服务运行的前提下进行软件版本的升级,启动应用服务进行新功能体验。
[0012]本发明解决上述技术问题的技术方案是:
[0013]所述的方法包括在运行版本X的openstack环境中安装python虚拟环境组件,准备版本Y的openstack服务组件,以及在python虚拟环境中启动版本Y的openstack服务组件;所述的python虚拟环境组件特指virtualenv。
[0014]所述的准备版本Y的openstack服务组件进一步包括有创建虚拟环境及目录,将版本Y的openstack服务组件源码setup到虚拟环境,和配置版本Y的服务组件。
[0015]所述的创建虚拟环境是指利用virtualenv命令创建一个指定名称的隔离空间,并生成对应名称的目录;
[0016]所述的目录用以存放后续安装应用套件的源码、脚本、配置文件;
[0017]所述的虚拟环境特指独立的python运行环境,这些python环境相互独立,各自可以安装不同应用对应的不同套件版本,互不影响;
[0018]所述的套件是指应用服务以及服务运行所依赖的一些软件包,具体是指openstack组件服务所依赖的python包。
[0019]所述的虚拟环境在创建之后可以进行启动和退出;
[0020]所述的启动虚拟环境是指从全局空间进入到虚拟环境;
[0021]所述的退出虚拟环境则是指从虚拟环境退出,重新回到全局空间。
[0022]所述的在虚拟环境中启动服务是指利用虚拟环境目录下面的启动脚本、配置文件、应用代码以及虚拟环境下的依赖运行openstack组件服务。
[0023]本发明方案的有益效果如下:
[0024]1、提供一种方法,实现在不增加额外环境、不影响现有openstack环境全局空间里的组件服务运行的前提下,跨版本运行openstack组件服务。用户可以根据需要选用不同版本的服务组件,对外提供不同的功能体验。
[0025]2、本发明方法具有通用性,适用于所有python相关的应用服务。
【附图说明】
[0026]下面结合附图对本发明进一步说明:
[0027]图1为本发明的流程图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员没有做出实质性创造获得的类似方法,都属于本发明保护的范围。
[0029]请参见图1,为本发明实施例提供的一种跨版本运行openstack组件服务的方法的流程示意图,本实施类以在J版openstack的环境下通过虚拟环境启动L版的neutron服务为例进行描述,所述方法包括:
[°03°] 首先在J版openstack环境节点上安装python虚拟环境组件,在centos主机上执行:
[0031]pip install-U virtualenv
[0032]或者在ubuntu主机上执行
[0033]sudo apt-get install python-virtualenv;
[0034]接着创建虚拟环境,安装了 python虚拟环境组件virtualenv之后就可以调用virtualenv命令根据需要创建一个或多个虚拟环境了,创建命令如下:
[0035]virtualenv neutron-sl-env__no-site-packages
[0036]其中neutron-sl-env为虚拟环境名称,相应的会在当前目录下建立一个该名称的目录。参数-no-site-packages则表示新建的虚拟环境不依赖系统全局环境中的sitepackages 第三方package。
[0037]创建虚拟环境之后即可启动虚拟环境,执行如下命令:
[0038]cd neutron-sl-env
[0039]source./bin/activate
[0040]接着就可以在虚拟环境中安装客户python服务套件,例如安装L版openstack的neutron服务组件如下:
[0041]cd neutron-stabIe-1iberty
[0042]pip install-r requirements.txt
[0043]python setup.py install—record = file.txt
[0044]这样即把neutron服务setup到虚拟环境neutron-sl-env中,之后我们配置L版的neutron服务组件配置文件,利用配置文件就可以启动neutron服务了,启动方法如下(以启动neutron-server服务为例,其他服务类似启动即可):
[0045]/root/xm/virtualenv/neutron-sl-env/bin/python/root/xm/virtualenv/neutron-sl-env/bin/neutron-server—config-file/usr/share/neutron/neutron-dist.conf—config-file/etc/neutron/neutron.conf—config-f iIe/etc/neutron/plugin.1ni—log-file/var/log/neutron/server.log
[0046]最后退出虚拟环境,执行如下命令即可:
[0047]Deactivate。
【主权项】
1.一种跨版本运行openstack组件服务的方法,其特征在于,所述的方法包括在运行版本X的opens tack环境中安装python虚拟环境组件,准备版本Y的openstack服务组件,以及在python虚拟环境中启动版本Y的openstack服务组件;所述的python虚拟环境组件特指virtualenvo2.据权利要求1所述的方法,其特征在于,所述的准备版本Y的openstack服务组件进一步包括有创建虚拟环境及目录,将版本Y的openstack服务组件源码setup到虚拟环境,和配置版本Y的服务组件。3.根据权利要求2所述的方法,其特征在于,所述的创建虚拟环境是指利用virtualenv命令创建一个指定名称的隔离空间,并生成对应名称的目录; 所述的目录用以存放后续安装应用套件的源码、脚本、配置文件; 所述的虚拟环境特指独立的python运行环境,这些python环境相互独立,各自可以安装不同应用对应的不同套件版本,互不影响; 所述的套件是指应用服务以及服务运行所依赖的一些软件包,具体是指openstack组件服务所依赖的python包。4.根据权利要求2所述的方法,其特征在于,所述的虚拟环境在创建之后可以进行启动和退出; 所述的启动虚拟环境是指从全局空间进入到虚拟环境; 所述的退出虚拟环境则是指从虚拟环境退出,重新回到全局空间。5.根据权利要求3所述的方法,其特征在于,所述的虚拟环境在创建之后可以进行启动和退出; 所述的启动虚拟环境是指从全局空间进入到虚拟环境; 所述的退出虚拟环境则是指从虚拟环境退出,重新回到全局空间。6.根据权利要求4或5所述的方法,其特征在于,所述的在虚拟环境中启动服务是指利用虚拟环境目录下面的启动脚本、配置文件、应用代码以及虚拟环境下的依赖运行openstack组件服务。
【文档编号】G06F9/455GK106020935SQ201610364784
【公开日】2016年10月12日
【申请日】2016年5月26日
【发明人】熊梦, 杨松, 季统凯
【申请人】国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1