CN106020935A - 一种跨版本运行openstack组件服务的方法 - Google Patents
一种跨版本运行openstack组件服务的方法 Download PDFInfo
- Publication number
- CN106020935A CN106020935A CN201610364784.5A CN201610364784A CN106020935A CN 106020935 A CN106020935 A CN 106020935A CN 201610364784 A CN201610364784 A CN 201610364784A CN 106020935 A CN106020935 A CN 106020935A
- Authority
- CN
- China
- Prior art keywords
- virtual environment
- openstack
- version
- service
- refers
- 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
Classifications
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件服务管理技术领域,特别是一种跨版本运行openstack组件服务的方法。所述方法包括:在运行版本X的openstack环境中安装python虚拟环境组件,准备版本Y的openstack服务组件,在python虚拟环境中启动版本Y的openstack服务组件。采用本发明提供的方法可以解决在当前openstack运行环境中,对单个或者几个服务组件进行版本升级所面临的软件依赖冲突问题;可应用于跨版本运行openstack组件服务。
Description
技术领域
本发明涉及软件服务管理技术领域,特别是一种跨版本运行openstack组件服务的方法。
背景技术
1、Python和Virtualenv
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:
(1)在没有权限的情况下安装新套件;
(2)不同应用可以使用不同的套件版本;
(3)套件升级不影响其他应用。
2、openstack版本迭代
随着openstack开源云的快速发展,目前越来越多的云计算开发商以及使用者选择利用openstack来搭建自己的云平台。然而openstack毕竟是一个开源云,由社区进行管理的方式决定了其版本迭代非常迅速,如今几个月就发布一个新的版本。
当用户所需要的服务组件功能在新的openstack版本中被实现,用户需要升级现有生产环境的服务组件版本,但往往在升级过程中发现新版本与旧版本之间存在很大的环境依赖差异。解决方法之一是对openstack所有服务组件进行整体版本升级;这种方式导致如下问题:生产环境当前的openstack版本除了某个组件需要升级之外,其他组件是不需要后者进行升级的,整体的版本升级不能被接受。
这样openstack用户就迫切需要一种方法,在不增加额外环境、不影响现有生产环境全局空间里的服务运行的前提下,对openstack的单个或者其中的多个组件服务进行版本升级,以实现多个openstack版本的组件服务同时运行而不出现环境依赖冲突等问题。
发明内容
本发明解决的技术问题在于提供一种跨版本运行openstack组件服务的方法,实现在不增加额外环境、不影响现有环境全局空间里的服务运行的前提下进行软件版本的升级,启动应用服务进行新功能体验。
本发明解决上述技术问题的技术方案是:
所述的方法包括在运行版本X的openstack环境中安装python虚拟环境组件,准备版本Y的openstack服务组件,以及在python虚拟环境中启动版本Y的openstack服务组件;所述的python虚拟环境组件特指virtualenv。
所述的准备版本Y的openstack服务组件进一步包括有创建虚拟环境及目录,将版本Y的openstack服务组件源码setup到虚拟环境,和配置版本Y的服务组件。
所述的创建虚拟环境是指利用virtualenv命令创建一个指定名称的隔离空间,并生成对应名称的目录;
所述的目录用以存放后续安装应用套件的源码、脚本、配置文件;
所述的虚拟环境特指独立的python运行环境,这些python环境相互独立,各自可以安装不同应用对应的不同套件版本,互不影响;
所述的套件是指应用服务以及服务运行所依赖的一些软件包,具体是指openstack组件服务所依赖的python包。
所述的虚拟环境在创建之后可以进行启动和退出;
所述的启动虚拟环境是指从全局空间进入到虚拟环境;
所述的退出虚拟环境则是指从虚拟环境退出,重新回到全局空间。
所述的在虚拟环境中启动服务是指利用虚拟环境目录下面的启动脚本、配置文件、应用代码以及虚拟环境下的依赖运行openstack组件服务。
本发明方案的有益效果如下:
1、提供一种方法,实现在不增加额外环境、不影响现有openstack环境全局空间里的组件服务运行的前提下,跨版本运行openstack组件服务。用户可以根据需要选用不同版本的服务组件,对外提供不同的功能体验。
2、本发明方法具有通用性,适用于所有python相关的应用服务。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员没有做出实质性创造获得的类似方法,都属于本发明保护的范围。
请参见图1,为本发明实施例提供的一种跨版本运行openstack组件服务的方法的流程示意图,本实施类以在J版openstack的环境下通过虚拟环境启动L版的neutron服务为例进行描述,所述方法包括:
首先在J版openstack环境节点上安装python虚拟环境组件,在centos主机上执行:
pip install-U virtualenv
或者在ubuntu主机上执行
sudo apt-get install python-virtualenv;
接着创建虚拟环境,安装了python虚拟环境组件virtualenv之后就可以调用virtualenv命令根据需要创建一个或多个虚拟环境了,创建命令如下:
virtualenv neutron-sl-env--no-site-packages
其中neutron-sl-env为虚拟环境名称,相应的会在当前目录下建立一个该名称的目录。参数-no-site-packages则表示新建的虚拟环境不依赖系统全局环境中的site packages第三方package。
创建虚拟环境之后即可启动虚拟环境,执行如下命令:
cd neutron-sl-env
source./bin/activate
接着就可以在虚拟环境中安装客户python服务套件,例如安装L版openstack的neutron服务组件如下:
cd neutron-stable-liberty
pip install-r requirements.txt
python setup.py install--record=file.txt
这样即把neutron服务setup到虚拟环境neutron-sl-env中,之后我们配置L版的neutron服务组件配置文件,利用配置文件就可以启动neutron服务了,启动方法如下(以启动neutron-server服务为例,其他服务类似启动即可):
/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-file/etc/neutron/plugin.ini--log-file/var/log/neutron/server.log
最后退出虚拟环境,执行如下命令即可:
Deactivate。
Claims (6)
1.一种跨版本运行openstack组件服务的方法,其特征在于,所述的方法包括在运行版本X的opens tack环境中安装python虚拟环境组件,准备版本Y的openstack服务组件,以及在python虚拟环境中启动版本Y的openstack服务组件;所述的python虚拟环境组件特指virtualenv。
2.据权利要求1所述的方法,其特征在于,所述的准备版本Y的openstack服务组件进一步包括有创建虚拟环境及目录,将版本Y的openstack服务组件源码setup到虚拟环境,和配置版本Y的服务组件。
3.根据权利要求2所述的方法,其特征在于,所述的创建虚拟环境是指利用virtualenv命令创建一个指定名称的隔离空间,并生成对应名称的目录;
所述的目录用以存放后续安装应用套件的源码、脚本、配置文件;
所述的虚拟环境特指独立的python运行环境,这些python环境相互独立,各自可以安装不同应用对应的不同套件版本,互不影响;
所述的套件是指应用服务以及服务运行所依赖的一些软件包,具体是指openstack组件服务所依赖的python包。
4.根据权利要求2所述的方法,其特征在于,所述的虚拟环境在创建之后可以进行启动和退出;
所述的启动虚拟环境是指从全局空间进入到虚拟环境;
所述的退出虚拟环境则是指从虚拟环境退出,重新回到全局空间。
5.根据权利要求3所述的方法,其特征在于,所述的虚拟环境在创建之后可以进行启动和退出;
所述的启动虚拟环境是指从全局空间进入到虚拟环境;
所述的退出虚拟环境则是指从虚拟环境退出,重新回到全局空间。
6.根据权利要求4或5所述的方法,其特征在于,所述的在虚拟环境中启动服务是指利用虚拟环境目录下面的启动脚本、配置文件、应用代码以及虚拟环境下的依赖运行openstack组件服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610364784.5A CN106020935A (zh) | 2016-05-26 | 2016-05-26 | 一种跨版本运行openstack组件服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610364784.5A CN106020935A (zh) | 2016-05-26 | 2016-05-26 | 一种跨版本运行openstack组件服务的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106020935A true CN106020935A (zh) | 2016-10-12 |
Family
ID=57091916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610364784.5A Withdrawn CN106020935A (zh) | 2016-05-26 | 2016-05-26 | 一种跨版本运行openstack组件服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020935A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126313A (zh) * | 2016-06-22 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种基于Ambari集成Solr的方法及服务器 |
CN110569103A (zh) * | 2019-07-24 | 2019-12-13 | 苏州浪潮智能科技有限公司 | 一种基于Ambari实现Python组件管理的方法 |
CN111562936A (zh) * | 2019-02-13 | 2020-08-21 | 顺丰科技有限公司 | 基于Openstack-Swift的对象历史版本管理方法和装置 |
CN112148351A (zh) * | 2020-09-16 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 一种应用软件跨版本兼容的方法和系统 |
CN111562936B (zh) * | 2019-02-13 | 2024-05-31 | 顺丰科技有限公司 | 基于Openstack-Swift的对象历史版本管理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689165A (zh) * | 2007-06-27 | 2010-03-31 | 微软公司 | 在虚拟环境中运行附加组件 |
CN103309666A (zh) * | 2013-06-09 | 2013-09-18 | 北京奇虎科技有限公司 | 一种软件运行控制方法和装置 |
CN105607903A (zh) * | 2015-12-15 | 2016-05-25 | 国云科技股份有限公司 | 一种部署openstack组件的方法 |
-
2016
- 2016-05-26 CN CN201610364784.5A patent/CN106020935A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689165A (zh) * | 2007-06-27 | 2010-03-31 | 微软公司 | 在虚拟环境中运行附加组件 |
CN103309666A (zh) * | 2013-06-09 | 2013-09-18 | 北京奇虎科技有限公司 | 一种软件运行控制方法和装置 |
CN105607903A (zh) * | 2015-12-15 | 2016-05-25 | 国云科技股份有限公司 | 一种部署openstack组件的方法 |
Non-Patent Citations (2)
Title |
---|
MEGAN LARUE等: "Ehanced GUI Environment for Pymatgen in Material Science", 《2014 IEEE 5TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE》 * |
斯特拉金: "《Effective Python 编写高质量Python代码的59个有效方法》", 31 January 2016, 机械工业出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126313A (zh) * | 2016-06-22 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种基于Ambari集成Solr的方法及服务器 |
CN106126313B (zh) * | 2016-06-22 | 2019-05-14 | 浪潮电子信息产业股份有限公司 | 一种基于Ambari集成Solr的方法及服务器 |
CN111562936A (zh) * | 2019-02-13 | 2020-08-21 | 顺丰科技有限公司 | 基于Openstack-Swift的对象历史版本管理方法和装置 |
CN111562936B (zh) * | 2019-02-13 | 2024-05-31 | 顺丰科技有限公司 | 基于Openstack-Swift的对象历史版本管理方法和装置 |
CN110569103A (zh) * | 2019-07-24 | 2019-12-13 | 苏州浪潮智能科技有限公司 | 一种基于Ambari实现Python组件管理的方法 |
CN110569103B (zh) * | 2019-07-24 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种基于Ambari实现Python组件管理的方法 |
CN112148351A (zh) * | 2020-09-16 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 一种应用软件跨版本兼容的方法和系统 |
CN112148351B (zh) * | 2020-09-16 | 2024-05-28 | 杭州安恒信息技术股份有限公司 | 一种应用软件跨版本兼容的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210314273A1 (en) | Enabling multi-tenant virtual servers in a cloud system | |
US11561784B2 (en) | Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms | |
US9350623B2 (en) | System and method for automated deployment of multi-component computer environment | |
US9817645B2 (en) | Reusable application configuration with dynamic resource determination | |
CN105224466A (zh) | 一种基于Docker的集成测试方法及系统 | |
US9519663B2 (en) | Upgrading and migrating a database by a migration tool | |
US20140108440A1 (en) | Configuration of Life Cycle Management for Configuration Files for an Application | |
US11487546B2 (en) | Change management of services deployed on datacenters configured in cloud platforms | |
US11573786B1 (en) | Deployment strategies for continuous delivery of software artifacts in cloud platforms | |
US11392366B1 (en) | Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms | |
US11356508B1 (en) | Retry strategies for handling failures during continuous delivery of software artifacts in a cloud platform | |
US11349958B1 (en) | Deployment of software releases on datacenters configured in cloud platforms | |
US11388231B1 (en) | Multi-substrate fault tolerant continuous delivery of datacenter builds on cloud computing platforms | |
US11392361B2 (en) | Software release orchestration for continuous delivery of features in a cloud platform based data center | |
US20230035486A1 (en) | Managing execution of continuous delivery pipelines for a cloud platform based data center | |
CN106020935A (zh) | 一种跨版本运行openstack组件服务的方法 | |
US20220360492A1 (en) | Declarative specification based override mechanism for customizing data centers deployed on cloud platforms | |
US10162619B1 (en) | Fleet-wide management of software packages | |
CN102156650B (zh) | 一种实现补丁自动分析的方法及装置 | |
WO2020001391A1 (zh) | 菜单动态管理方法、服务器和系统 | |
US11570048B2 (en) | Declarative language and compiler for provisioning and deploying data centers on cloud platforms | |
US11848829B2 (en) | Modifying a data center based on cloud computing platform using declarative language and compiler | |
US11403145B1 (en) | Enforcing system configuration freeze of services deployed via continuous delivery on datacenters configured in cloud platforms | |
US20220147399A1 (en) | Declarative language and compiler for provisioning and deploying data centers on cloud platforms | |
CN110719293A (zh) | 一种安全服务生成方法和相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20161012 |