CN106201466B - 一种基于heat的模板管理方法 - Google Patents
一种基于heat的模板管理方法 Download PDFInfo
- Publication number
- CN106201466B CN106201466B CN201610486599.3A CN201610486599A CN106201466B CN 106201466 B CN106201466 B CN 106201466B CN 201610486599 A CN201610486599 A CN 201610486599A CN 106201466 B CN106201466 B CN 106201466B
- Authority
- CN
- China
- Prior art keywords
- heat
- template
- resource
- user
- resource type
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Abstract
本发明涉及云计算技术领域,特别是一种基于heat的模板管理方法。所述方法包括:自定义前端用户可操作的资源类型,然后定义资源类型DB表和模板DB表,接着用户操作自定义资源类型,最后模板服务根据创建的自定义资源类型生成模板并保存。采用本发明提供的方法可以避免将heat的资源直接反馈给前端用户所引起的资源过多、资源依赖关系复杂、使用体验差等问题。
Description
技术领域
本发明涉及云计算技术领域,特别是一种基于heat的模板管理方法。
背景技术
Openstack和heat
Heat是OpenStack的负责编排计划的主要项目。它可以基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。在模板文件中可以定义应用需要的资源,资源可以包括多种类型(CFN以及HOT支持的资源类型可能会存在一定的差别)例如IP,网络,镜像,用户,实例等。定义资源的同时也可以指定资源之间的依赖关系,例如使用云硬盘创建一个实例时,可以指定在创建实例时必须要创建云硬盘。
Heat中定义的资源众多,并且每一个资源又对其他资源存在非常复杂的依赖关系。目前Heat并不提供针对资源进行操作的可视化管理,而是仅仅提供一个接口供用户上传定制完整的模板文件。另外有些基于Heat的云平台则是采用将Heat模板使用到的资源全部展现在用户界面,让用户自己一一去设置资源参数。这写处理方式都导致用户体验太差,对用户完全自己定制完整的模板文件提出了很高的要求。
发明内容
本发明解决的技术问题在于提出了一种基于heat的模板管理方法,用户只需要操作页面设置简单的几个参数即可完成模板的创建。
本发明解决上述技术问题的技术方案是,
所述的方法包括:
自定义前端用户可操作的资源类型;
然后定义资源类型DB表和模板DB表;
接着用户操作自定义资源类型;
最后模板服务根据创建的自定义资源类型生成模板并保存;
所述的自定义资源类型是指对heat的资源进行再一次的封装和扩大,将多种heat资源集成在一起构造成一种新的资源逻辑;
所述的定义资源类型DB表和模板DB表包括:
在sqlalchemy包下的modules包中定义新增服务的数据库表的实体类;
在versions包中定义新增服务的数据库表设计文件;
所述的用户操作自定义资源类型是指用户操作web或直接调用api设置并传递自定义资源类型所必须的参数;所述的操作包括自定义资源类型的增删改查等操作;
所述的根据创建的自定义资源类型生成模板并保存进一步包括:
定义适用于自定义资源类型的heat模板框架;
解析用户传递的自定义资源类型参数;
利用解析后的参数更新heat模板框架生成模板;
将生成的模板保存到数据库,同时保存自定义资源类型。
所述的heat是开源云平台openstack的一个负责编排计划的组件,其主要功能是实现对云平台的上层应用进行模板化管理;
所述的模板化管理是指heat根据模板内容来进行应用的自动部署;
所述的模板是指一个类似于任务计划表的指定格式文件,该格式文件被heat所识别;
所述的应用部署过程包括了基本的虚拟机创建和上层应用程序的安装配置等。
所述的heat模板框架是一个准heat模板,可以接收用户传递进来的资源参数并更新,最终生成具体的heat模板;
所述的heat资源是指在heat组件中所有继承自resource.py模块中Resource类的子类,并定义有handle_create,handle_delete等资源增删该查的方法。
所述的heat模板框架是一个准heat模板,可以接收用户传递进来的资源参数并更新,最终生成具体的heat模板;
所述的heat资源是指在heat组件中所有继承自resource.py模块中Resource类的子类,并定义有handle_create,handle_delete等资源增删该查的方法。
所述的构造过程具体包括:
构造自定义资源类型的heat模板框架;
构造用户传递的自定义资源类型参数;
利用上述自定义资源类型参数和框架生产heat模板。
所述的数据库设计文件是一个带有版本系列号的.py文件,用于对现有heat的数据库进行版本管理。
本发明方案的有益效果如下:
1、提供一种基于heat的模板管理方法,避免了将heat的资源直接反馈给前端用户所引起的资源过多、资源依赖关系复杂、使用体验差等问题。
2、本发明方法使用简单方便,用户只需要设置一些简单的自己可理解的模板参数即可完成复杂模板的创建。
3、本发明方法具有通用性,适用于所有基于heat的云平台。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的示意图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出实质性创造获得的方案,都属于本发明保护的范围。
请参见图1,为本发明实施例提供的一种基于heat的模板管理方法的流程示意图,本实施类以新增InstanceResource资源类型和ScalingPolicyAlarmResource资源类型为例进行描述,其他新增资源类型类似。
其中ScalingPolicyAlarmResource资源类型所对应的heat模板框架如下:
自定义构造的ScalingPolicyAlarmResource资源类型将heat自带的ScalingPolicy资源、资源池成员PoolMember资源、弹性扩展组G_CloudAutoScalingGroup资源、监控告警资源等集成到一起。
构造ScalingPolicyAlarmResource自定义资源类型的用户参数,该资源类型对外界用户仅暴露出监控类型、扩展策略、最大最小虚拟机数量以及每次扩展的规模等参数,具体如下:
1)ScalingPolicyAlarmResource的json格式
自定义构造InstanceResource资源类型,完成对heat虚拟机server资源进行封装,对外暴露出server使用的cpu个数,内存大小,存储大小,是否绑定浮动IP,是否挂载云盘等用户所熟悉的资源参数,具体参数如下:
2)InstanceResource的json格式
用户在操作web或直接调用api创建heat模板的时候,只需要将前面自定义的InstanceResource资源类型ScalingPolicyAlarmResource资源类型所需要的参数传递到heat模板服务即可。例如用户调用api并传递了如下参数:
模板服务接收用户创建模板请求,并对用户传递进来的InstanceResource资源类型和ScalingPolicyAlarmResource资源类型进行解析,并将其参数更新到对应构造的资源类型模板框架中:
get_autoscale_resource_content()函数通过get_deep_copy函数调用上述构造的heat模板框架nestedTemplateResource,将用户传递进来的参数更新到该框架完成模板内容的生产。
最后将生产的模板内容保存到如下定义的资源类型DB表和模板DB表中:
利用本发明方法生成heat模板保存到数据库,之后即可进一步利用该模板创建应用栈。
Claims (7)
1.一种基于heat的模板管理方法,其特征在于,所述的方法包括:
自定义前端用户可操作的资源类型;
然后定义资源类型DB表和模板DB表;
接着用户操作自定义资源类型;
最后模板服务根据创建的自定义资源类型生成模板并保存;
所述的自定义资源类型是指对heat的资源进行再一次的封装和扩大,将多种heat资源集成在一起构造成一种新的资源逻辑;
所述的定义资源类型DB表和模板DB表包括:
在sqlalchemy包下的modules包中定义新增服务的数据库表的实体类;
在versions包中定义新增服务的数据库表设计文件;
所述的用户操作自定义资源类型是指用户操作web或直接调用api设置并传递自定义资源类型所必须的参数;所述的操作包括自定义资源类型的增删改查操作;
所述的根据创建的自定义资源类型生成模板并保存进一步包括:
定义适用于自定义资源类型的heat模板框架;
解析用户传递的自定义资源类型参数;
利用解析后的参数更新heat模板框架生成模板;
将生成的模板保存到数据库,同时保存自定义资源类型。
2.根据权利要求1所述的基于heat的模板管理方法,其特征在于,所述的heat是开源云平台openstack的一个负责编排计划的组件,其主要功能是实现对云平台的上层应用进行模板化管理;
所述的模板化管理是指heat根据模板内容来进行应用的自动部署;
所述的模板是指一个类似于任务计划表的指定格式文件,该格式文件被heat所识别;
所述的应用部署过程包括了基本的虚拟机创建和上层应用程序的安装配置。
3.根据权利要求1所述的基于heat的模板管理方法,其特征在于,所述的heat模板框架是一个准heat模板,可以接收用户传递进来的资源参数并更新,最终生成具体的heat模板;
所述的heat资源是指在heat组件中所有继承自resource.py模块中Resource类的子类,并定义有handle_create,handle_delete资源增删改查的方法。
4.根据权利要求2所述的基于heat的模板管理方法,其特征在于,所述的heat模板框架是一个准heat模板,可以接收用户传递进来的资源参数并更新,最终生成具体的heat模板;
所述的heat资源是指在heat组件中所有继承自resource.py模块中Resource类的子类,并定义有handle_create,handle_delete资源增删改查的方法。
5.根据权利要求1至4任一项所述的基于heat的模板管理方法,其特征在于,所述的构造过程具体包括:
构造自定义资源类型的heat模板框架;
构造用户传递的自定义资源类型参数;
利用上述自定义资源类型参数和框架生产heat模板。
6.根据权利要求1至4任一项所述的基于heat的模板管理方法,其特征在于,所述的数据库设计文件是一个带有版本系列号的.py文件,用于对现有heat的数据库进行版本管理。
7.根据权利要求5所述的基于heat的模板管理方法,其特征在于,所述的数据库设计文件是一个带有版本系列号的.py文件,用于对现有heat的数据库进行版本管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610486599.3A CN106201466B (zh) | 2016-06-25 | 2016-06-25 | 一种基于heat的模板管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610486599.3A CN106201466B (zh) | 2016-06-25 | 2016-06-25 | 一种基于heat的模板管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201466A CN106201466A (zh) | 2016-12-07 |
CN106201466B true CN106201466B (zh) | 2019-05-21 |
Family
ID=57461921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610486599.3A Active CN106201466B (zh) | 2016-06-25 | 2016-06-25 | 一种基于heat的模板管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201466B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145380B (zh) * | 2017-03-27 | 2020-06-16 | 华为技术有限公司 | 虚拟资源编排方法及装置 |
CN107436814A (zh) * | 2017-08-07 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种资源编排模板的生成方法及装置 |
CN107577521A (zh) * | 2017-10-26 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种虚拟资源管理方法及装置 |
CN107943515A (zh) * | 2017-12-14 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种云管理平台管理服务编排模板的方法和装置 |
US11394617B2 (en) | 2018-10-09 | 2022-07-19 | Hewlett Packard Enterprise Development Lp | Virtualized network functions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870252A (zh) * | 2012-12-11 | 2014-06-18 | 镇江金钛软件有限公司 | 资源管理方法和装置 |
CN104714823A (zh) * | 2015-03-06 | 2015-06-17 | 上海新炬网络信息技术有限公司 | 基于OpenStack的新建主机配置方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467036B2 (en) * | 2014-09-30 | 2019-11-05 | International Business Machines Corporation | Dynamic metering adjustment for service management of computing platform |
-
2016
- 2016-06-25 CN CN201610486599.3A patent/CN106201466B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870252A (zh) * | 2012-12-11 | 2014-06-18 | 镇江金钛软件有限公司 | 资源管理方法和装置 |
CN104714823A (zh) * | 2015-03-06 | 2015-06-17 | 上海新炬网络信息技术有限公司 | 基于OpenStack的新建主机配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106201466A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201466B (zh) | 一种基于heat的模板管理方法 | |
US8954952B2 (en) | Portable business process deployment model across different application servers | |
EP3337094A1 (en) | Method and apparatus for deploying network services | |
JP6424823B2 (ja) | 情報処理装置、及び、システム設計支援方法 | |
CN111614490B (zh) | 基于顶级容器集群对托管容器集群的管理系统及方法 | |
KR101212778B1 (ko) | 클라우드 컴퓨팅 기반 스마트 오피스 시스템 및 이의 운용을 위한 서버 및 운용 방법 | |
CN111930521A (zh) | 用于部署应用的方法、装置、电子设备及可读存储介质 | |
WO2017041649A1 (zh) | 一种应用部署方法及设备 | |
CN105893055B (zh) | 流程引擎平台化触发方法 | |
CN103685568A (zh) | 云计算环境下paas平台的平台服务应用部署方法和系统 | |
CN108984544B (zh) | 一种分布式系统修改配置信息的方法和装置 | |
WO2019034066A1 (zh) | 一种页面更新方法和装置 | |
CN104361098A (zh) | 一种云海系统中拓扑图节点自定义的方法 | |
US20150280996A1 (en) | Cloud topology visualizations | |
JP2017199359A (ja) | モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法 | |
CN103677845A (zh) | 一种网站应用部署方法 | |
US20150186564A1 (en) | Network device and call simulation tool | |
CN111240795A (zh) | 一种虚拟化办公平台的构建方法及系统 | |
CN106406978A (zh) | 私有云虚拟机模板自动制作装置及方法 | |
CN110019059B (zh) | 一种定时同步的方法和装置 | |
CN106559493B (zh) | 服务发布方法和服务发布系统 | |
US10067748B2 (en) | Specifying data in a standards style pattern of service-oriented architecture (SOA) environments | |
CN105812434B (zh) | 用户手持设备虚拟化后的业务链控制方法及装置 | |
CN107329804A (zh) | 一种根据配置自动创建、升级虚拟机的方法 | |
Feuerlicht et al. | Service Consumer Framework-Managing Service Evolution from a Consumer Perspective |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-Cloud Technology Co., Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Applicant before: G-Cloud Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |