基于OpenStack的新建主机配置方法

阅读: 评论:0

著录项
  • CN201510098793.X
  • 20150306
  • CN104714823A
  • 20150617
  • 上海新炬网络信息技术有限公司
  • 程永新;谢涛;林壬
  • G06F9/445
  • G06F9/445 G06F9/455

  • 上海市普陀区中山北路2000号中期大厦3楼B
  • 上海(31)
  • 上海申新律师事务所
  • 夏海天
摘要
本发明公开了一种基于OpenStack的新建主机配置方法,所述OpenStack配置有dashboard模块、Nova模块和数据库;配置步骤如下:a)截取来自dashboard模块创建主机的申请;b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;c)在Nova-api模块响应该申请后,将控制权交还给dashboard模块,由dashboard模块继续完成后续的交互操作。本发明能够直接调整主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置模板的创建方式,大大提高工作效率。
权利要求

1.一种基于OpenStack的新建主机配置方法,所述OpenStack配置有前台配 置界面dashboard模块、Nova模块和数据库,所述Nova模块包括:

Nova-api模块:供其他模块调用的对外接口模块;

Scheduler模块:根据当前资源使用情况,决定计算节点分布到哪台计算节点 上;

Network模块:给虚拟机分配网络并进行管理,使外部PC可以直接访问;

所述Nova-api模块、Scheduler模块和Network模块运行时通过异步消息的方 式,采用消息队列queue和所述数据库进行交互;其特征在于,所述配置方法包括 如下步骤:

a)截取来自dashboard模块创建主机的申请,并提供新的临时主机配置界面 供用户进行配置;

b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard 模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;

c)在Nova-api模块响应该申请后,将控制权交还给dashboard模块,由 dashboard模块配合Scheduler模块和Network模块继续完成后续的交互操作,完成 新建主机配置。

2.如权利要求1所述的基于OpenStack的新建主机配置方法,其特征在于, 所述步骤a)通过在dashboard模块中设置插件的方式截取创建主机的申请。

3.如权利要求2所述的基于OpenStack的新建主机配置方法,其特征在于, 所述步骤a)发现dashboard模块与Nova-api模块的对应接口之间产生了相互调用之 后,拦截dashboard模块生成的交互界面,并以新的临时交互界面进行取代。

4.如权利要求3所述的基于OpenStack的新建主机配置方法,其特征在于, 所述步骤a)在dashboard模块接收Nova-api模块和Nova-network模块返回消息的 接口上完成对消息的过滤及拦截,所述步骤b)模拟dashboard模块的数据库操作, 将临时生成的配置模板插入到数据库中,以供Nova-api模块和Nova-network模块 调用。

说明书
技术领域

本发明涉及一种软件配置方法,尤其涉及一种基于OpenStack的新建主机配置方 法。

OpenStack是由Rackspace和NASA共同开发的云计算平台,帮助服务商和企 业内部实现类似于Amazon EC2和S3的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack包含两个主要模块:Nova和Swift,前者是NASA开发的虚拟服 务器部署和业务计算模块;后者是Rackspack开发的分布式云存储模块,两者可以 一起用,也可以分开单独用。OpenStack是开源项目,除了有Rackspace和NASA的 大力支持外,后面还有包括Dell、Citrix、Cisco、Canonical这些重量级公司的贡献 和支持,发展速度非常快,有取代另一个业界领先开源云平台Eucalyptus的态势。

OpenStack Compute(Nova)是一套控制器,用于为单个用户或使用组启动虚拟 机实例。OpenStack Compute在公共云处理方面堪与Amazon EC2(亚马逊弹性云计 算Amazon Elastic Compute Cloud)相提并论;而在私有云方面也毫不逊于VMware 的产品。在公共云中,这套管理机制将提供预制的镜像或是为用户创建的镜像提供 存储机制,这样用户就能够将镜像以虚拟机的形式启动。

目前以OpenStack为基础的虚拟机管理软件基于主机配置模板的概念来设计主 机创建的流程,在建立主机之前,需要先在管理员菜单建立云主机的配置模板(云 主机类型),然后在创建虚拟机时才能选择对应的主机配置模板(云主机类型),如 图1所示。现有的openstack管理界面创建云主机的具体操作步骤如下:1)进入管 理员面板;2)进入云主机类型(主机模板)菜单;3)选择创建新的云主机类型;4) 填写该云主机类型的各种配置项;5)进入项目面板;6)进入云主机面板;7)并选 择启动云主机;8)在主机类型处选择刚才创建好的主机类型;9)填入该云主机的 其它配置项内容,完成云主机的创建。

由上述操作步骤可见,基于模板设计的云主机创建方式,在需要创建多台不同 配置主机的情况下会显得非常繁琐,操作不便,无法像vmware创建主机时那样在主 机创建界面直接调整主机的配置。

本发明所要解决的技术问题是提供一种基于OpenStack的新建主机配置方法, 能够直接调整主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并 同时保留配置模板的创建方式,简单方便,并且不会影响到openstack的功能性和 稳定性。

本发明为解决上述技术问题而采用的技术方案是提供一种基于OpenStack的新 建主机配置方法,所述OpenStack配置有前台配置界面dashboard模块、Nova模块 和数据库,所述Nova模块包括:

Nova-api模块:供其他模块调用的对外接口模块;

Scheduler模块:根据当前资源使用情况,决定计算节点分布到哪台计算节点上;

Network模块:给虚拟机分配网络并进行管理,使外部PC可以直接访问;

所述Nova-api模块、Scheduler模块和Network模块运行时通过异步消息的方 式,采用消息队列queue和所述数据库进行交互;所述配置方法包括如下步骤:a)截 取来自dashboard模块创建主机的申请,并提供新的临时主机配置界面供用户进行 配置;b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard 模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;c)在 Nova-api模块响应该申请后,将控制权交还给dashboard模块,由dashboard模块 配合Scheduler模块和Network模块继续完成后续的交互操作,完成新建主机配置。

上述的基于OpenStack的新建主机配置方法,其中,所述步骤a)通过在 dashboard模块中设置插件的方式截取创建主机的申请。

上述的基于OpenStack的新建主机配置方法,其中,所述步骤a)发现dashboard 模块与Nova-api模块的对应接口之间产生了相互调用之后,拦截dashboard模块生 成的交互界面,并以新的临时交互界面进行取代。

上述的基于OpenStack的新建主机配置方法,其中,所述步骤a)在dashboard 模块接收Nova-api模块和Nova-network模块返回消息的接口上完成对消息的过滤 及拦截,所述步骤b)模拟dashboard模块的数据库操作,将临时生成的配置模板插 入到数据库中,以供Nova-api模块和Nova-network模块调用。

本发明对比现有技术有如下的有益效果:本发明提供的基于OpenStack的新建 主机配置方法,不对openstack底层进行修改的前提下,通过在openstack的 dashboard与Nova-api之间插入一个功能模块,较为简便地实现直接调整主机配置 而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置模板的创 建方式,以便于批量部署主机;本发明可以有效提高部署多台不同配置主机的工作 效率,并降低操作人员的工作量,并且由于不对openstack的底层实现进行任何修 改,所以该方法并不会影响到openstack的功能性和稳定性。

图1为现有基于OpenStack的新建主机配置方法示意图;

图2为本发明基于OpenStack的新建主机配置方法示意图。

下面结合附图和实施例对本发明作进一步的描述。

目前创建云主机的流程设计在大量创建同一配置的主机时会很便利,但若需要 创建多台配置不同的主机时则并不方便,需要先创立多个不同配置的模板,然后在 创建主机时再逐台选择对应的模板。在需要大量创建不同配置主机的情况下,基于 模板的操作会降低工作效率。若可以像vmware之类的虚拟化软件一样,在创建主机 时直接按需调整主机的配置,则可以避免多次进入不同的菜单操作,可以更加方便 更加快捷的创建主机。

本发明主要在不对openstack底层进行修改的前提下,通过在openstack的 dashboard与Nova-api之间插入一个功能模块,较为简便地实现在主机时直接调整 主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置 模板的创建方式,以便于批量部署主机。本发明可以有效的提高部署多台不同配置 主机的工作效率,并降低操作人员的工作量,并且由于不对openstack的底层实现 进行任何修改,所以该方法并不会影响到openstack的功能性和稳定性。

请参见图2,本发明提供的基于OpenStack的新建主机配置方法,所述OpenStack 配置有前台配置界面dashboard模块、Nova模块和数据库,所述Nova模块为NASA开 发的虚拟服务器部署和业务计算模块,包括:

Nova-api模块:供其他模块调用的对外接口模块,openstack大部分的功能都 可以通过前台配置界面调用后端的各种API来实现;

Scheduler模块:根据当前资源使用情况,决定计算节点分布到哪台计算节点上;

Network模块:给虚拟机分配网络并进行管理,使外部PC可以直接访问;

Compute模块:计算节点,使用虚拟化技术,host虚拟机;

Volume模块:给虚拟机分配额外持久化的存储;

所述Nova-api模块、Scheduler模块、Network模块、Compute模块和Volume 模块运行时通过异步消息的方式,采用消息队列queue和所述数据库进行交互;其 中,所述配置方法包括如下步骤:

a)截取来自dashboard模块创建主机的申请,并提供新的临时主机配置界面供 用户进行配置;如通过在dashboard模块中设置插件的方式截取创建主机的申请;

b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard 模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;

c)在Nova-api模块响应该申请后,将控制权交还给dashboard模块,由 dashboard模块配合Scheduler模块和Network模块继续完成后续的交互操作,完成 新建主机配置。

本发明通过在后台生成对于用户而言透明的模板来实现,不需对openstack的 底层架构进行大幅度改动,只需在openstack的前台dashboard与后台底层之间新 增一个配置生成模块。在创建虚拟机时,可根据需求选择以原本的模式按事先保存 下来的主机配置模板进行主机创建(适合创建多台同样配置的主机),也可选择在创 建主机时再实时填写调整主机配置,再通过配置创建模块自动生成主机配置(适合 建立多台配置各有不同的主机)。各功能模块的组成及主要实现过程如下:

1、嵌入dashboard端的探头功能

由于该配置自动创建模块需要截取dashboard的请求,所以该模块在前端 dashboard上必须插入一个探头,用于发现用户通过dashboard模块发起的主机创建 请求。本功能涉及修改的openstack代码模块为:

openstack_dashboard.hooks

openstack_dashboard

openstack_dashboard.dashboards

openstack_dashboard.openstack

2、dashboard界面拦截功能

在探头发现了dashboard与Nova-api的对应接口之间产生了相互调用之后,拦 截器功能被触发,拦截dashboard生成的交互界面,并以本模块自身的交互界面取 而代之。本功能涉及修改的openstack代码模块为:

openstack_dashboard

openstack_dashboard.dashboards

openstack_dashboard.openstack

openstack_dashboard.dashboards.router

openstack_dashboard.api.nova

openstack_dashboard.api.neutron

openstack_dashboard.apiwork_base

openstack_dashboard.api.swift

openstack_dashboard.apiwork

3、配置生成功能

在用户交互界面操作完毕之后,本功能负责根据用户的操作自动生成配置模板, 并将生成的模板传递给操作模拟功能。本功能涉及修改的openstack代码模块为:

openstack_dashboard

openstack_dashboard.dashboards

openstack_dashboard.openstack

openstack_dashboard.templatetags

openstack_dashboard.templatetags.context_selection

4、接口操作功能

本功能负责模拟dashboard来调用Nova-api,需在dashboard接收Nova-api 和Nova-network模块返回消息的接口上完成对消息的过滤及拦截,并负责模拟 dashboard的数据库操作,将模块生成的配置模板插入数据库,以便Nova-api和 Nova-network模块调用。本功能涉及修改的openstack代码模块为:

openstack_dashboard

openstack_dashboard.api.nova

openstack_dashboard.hooks

openstack_dashboard.api.neutron

openstack_dashboard.apiwork_base

openstack_dashboard.apiwork

openstack_dashboard.dashboards.router

openstack_dashboard.api.swift

openstack_dashboard.api.heat

openstack_dashboard.api.base

openstack_dashboard.api.keystone

openstack_dashboard.utils.filters。

本发明提供的基于OpenStack的新建主机配置方法,在前端dashboard模块里 新增一个自动创建临时模板的模块,不需要对openstack后台底层运行逻辑进行任 何修改就可以提供创建主机时实时调整并生成主机配置的简便操作方法。用户具体 的操作使用步骤如下:

步骤1、用户点击创建云主机进入云主机配置界面;

步骤2、配置自动创建模块截取用户的调用信息,介入并替换dashboard的界面, 为用户提供配置界面以填写云主机的硬件配置情况;

步骤3、配置自动创建模块根据用户填写的配置参数,调用openstack后台生成 模板的接口,利用配置自动创建模块的功能模仿dashboard为该配置参数生成一个 模板并将其插入数据库;

步骤4、配置自动创建模块模仿dashboard发起对nova-api的调用;

步骤5、nova-api以配置自动创建模块插入数据库的模板作为参数,调用 openstack后台创建云主机的接口,以该模板创建云主机;

步骤6、openstack后台生成云主机完毕,并将创建成功的消息返回;

步骤7、配置自动创建模块在接收到主机创建的返回消息后,主动退出dashboard 的交互界面,并将操作控制权交还给dashboard模块。

由上可见。对操作者而言,改进后的创建云主机的操作步骤只有步骤1,步骤2 两步,其余操作均由程序自动完成,可见相比于改进前的操作,本发明可以大幅提 高使用者的工作效率与使用感受。

综上所述,本发明提供的基于OpenStack的新建主机配置方法,通过在 openstack的dashboard与Nova-api之间插入一个功能模块,较为简便地实现直接 调整主机配置而无需事先创建模板;具体优点如下:1)利用前端程序自动创建临时 模板的方式,可以通过对用户界面前端程序的修改,openstack提供绕开配置模板机 制建立主机的办法,以便更加快捷方便地创建主机。2)相比起任何对openstack底 层代码进行修改或是彻底重新开发前端程序的方式,新方法保留了openstack完整 的底层代码,不会对openstack的功能或是性能造成任何影响,并可以保留完整的 版本兼容性。3)本发明只需在前端dashboard程序插入一个新增的功能模块,将部 分人工操作改为自动化执行,不修改openstack的运行逻辑,不对openstack内有 的api进行修改,简单易行,实现成本低廉。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域 技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发 明的保护范围当以权利要求书所界定的为准。

本文发布于:2023-04-14 15:39:07,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87253.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图