CN110661729B - 一种基于Openstack***的创建项目资源的方法和装置 - Google Patents
一种基于Openstack***的创建项目资源的方法和装置 Download PDFInfo
- Publication number
- CN110661729B CN110661729B CN201910874457.8A CN201910874457A CN110661729B CN 110661729 B CN110661729 B CN 110661729B CN 201910874457 A CN201910874457 A CN 201910874457A CN 110661729 B CN110661729 B CN 110661729B
- Authority
- CN
- China
- Prior art keywords
- project
- context information
- target
- resource allocation
- allocation request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013468 resource allocation Methods 0.000 claims abstract description 58
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Openstack***的创建项目资源的方法,该方法包括:在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;利用所述第一上下文信息更新已有的上下文信息;根据更新后的上下文信息和所述项目资源分配请求创建项目资源。本发明还公开了一种基于Openstack***的创建项目资源的装置。本发明提供的方法和装置解决管理员在当前原生架构下不能进行项目资源创建的问题。
Description
技术领域
本发明涉及Openstack技术领域,尤其Openstack技术领域中一种基于Openstack***的创建项目资源的方法。
背景技术
Openstack是一项开源的云平台技术,包含了部署和运行云平台操作***的工具集。主要是为云服务提供商构建并提供虚拟计算服务、存储服务和网络服务的云平台,并且拥有可靠的云部署方案和良好的扩展性。
Openstack的用户是指拥有用户名、密码、邮箱等帐号信息的自然人。Openstack的项目是可以理解为一个团队或组织。创建用户后必须指定一个相应的项目才可以申请Openstack服务。Openstack的角色是特定的项目中的用户操作权限。
Openstack***中用户主要分为两类:管理员和普通用户。管理员指的是具有admin角色的用户,拥有Openstack***中最高的权限。普通用户指的是具有_member_角色的用户,能够在已绑定的项目中对项目拥有的资源进行生命周期的管理。在原生框架下,创建项目资源使用普通用户完成,具体流程是:第一,用户成功登录所属项目的界面,生成上下文(context)信息,其中包括用户id、所属项目id和认证(token)等信息;第二,根据订单的信息提取出分配资源所必备参数(context,资源大小、资源名称和资源描述等);第三,根据分配资源所必备参数下发分配请求,完成分配任务,其中流程中包括用户权限的校验、数据库的更新和底层资源的分配等。
Openstack***中所有的项目资源都是归属于某一个项目,当前原生实现逻辑是:
1普通用户在已绑定的项目下,能够进行本项目下资源的分配(创建)、删除和相关管理操作。
2管理员能够看到***中所有项目的资源,但仅能对资源进行删除和管理,不能进行资源的分配(创建)。
关于管理员不能进行项目资源(虚拟机、卷、快照、备份等)的创建这一问题,一直是使用云平台客户的痛点(管理员具有最大权限,却不能创建实体资源,例如:不能创建虚拟机、卷、快照、备份等),因为使用云平台***的组织和部门的管理员希望自己拥有给不同部门的用户创建资源的权限,并且还要保证已创建的资源确实归属于用户所在的部门。因此,实现管理员能够指定用户和项目进行资源的创建是一个需要迫切解决的问题。
发明内容
本发明要解决的技术问题是提供一种基于Openstack***的创建项目资源的方法,解决管理员在当前原生架构下不能进行项目资源创建的问题。
为了解决上述技术问题,本发明实施例提供了一种基于Openstack***的创建项目资源的方法,包括:
在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;
利用所述第一上下文信息更新已有的上下文信息;
根据更新后的上下文信息和所述项目资源分配请求创建项目资源。
一种示例性的实施例中,上述方法还具有下面特点:
在管理员在Openstack***中下发项目资源分配请求之前,包括:
在所述管理员接收到用户请求并登录Openstack***后,根据所述用户请求创建项目资源的参数;
根据所述项目资源的参数下发资源分配请求。
一种示例性的实施例中,上述方法还具有下面特点:
所述根据截获的所述项目资源分配请求生成第一上下文信息,包括:
截获所述项目资源分配请求,从所述项目资源分配请求中提取出目标用户标识ID和目标项目标识ID,根据所述目标用户ID和目标项目ID生成第一上下文信息。
一种示例性的实施例中,上述方法还具有下面特点:
所述根据所述目标用户ID和目标项目ID生成第一上下文信息,包括:
调用所述Openstack***的认证模块,根据所述目标用户ID和目标项目ID生成第一上下文信息。
一种示例性的实施例中,上述方法还具有下面特点:
所述项目资源的参数包括目标用户ID和目标项目ID;
所述第一上下文信息至少包括目标用户ID、目标项目ID、认证信息和目标用户权限信息。
为了解决上述问题,本发明还提供了一种基于Openstack***的创建项目资源的装置,包括:存储器和处理器;
所述存储器,用于保存用于基于Openstack***的创建项目资源的程序;
所述处理器,用于读取执行所述用于基于Openstack***的创建项目资源的程序,执行如下操作:
在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;
利用所述第一上下文信息更新已有的上下文信息;
根据更新后的上下文信息和所述项目资源分配请求创建项目资源。
一种示例性的实施例中,上述装置还具有下面特点:
所述处理器,读取执行所述用于基于云管理平台的云主机管理的程序,还执行如下操作:
在所述管理员接收到用户请求并登录Openstack***后,根据所述用户请求创建项目资源的参数;
根据所述项目资源的参数下发资源分配请求。
一种示例性的实施例中,上述装置还具有下面特点:
所述根据截获的所述项目资源分配请求生成第一上下文信息,包括:
截获所述项目资源分配请求,从所述项目资源分配请求中提取出目标用户标识ID和目标项目标识ID,根据所述目标用户ID和目标项目ID生成第一上下文信息。
一种示例性的实施例中,上述装置还具有下面特点:
根据所述目标用户ID和目标项目ID生成第一上下文信息,包括:
调用所述Openstack***的认证模块,根据所述目标用户ID和目标项目ID生成第一上下文信息。
一种示例性的实施例中,上述装置还具有下面特点:
所述项目资源的参数至少包括目标用户ID和目标项目ID;
所述第一上下文信息至少包括目标用户ID、目标项目ID、认证信息和目标用户权限信息。
综上,本发明实施例提供一种基于Openstack***的创建项目资源的方法,根据指定的目标用户ID和目标项目ID调用Openstack***中的认证模块keystone生成新的上下文的信息(即上文中的第一上下文信息)进行用户权限校验和数据库信息的更新,保证创建资源的归属是符合要求的,能够有效解决管理员在当前原生架构下不能进行项目资源创建的问题,扩大了管理员的操作范围,满足使用云平台客户的要求。
附图说明
图1为根据本发明实施例的基于Openstack***的创建项目资源的方法的示意图。
图2为根据本发明实施例的基于Openstack***的创建项目资源的方法的流程图。
图3为根据本发明实施例的基于Openstack***的创建项目资源的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例的基于Openstack***的创建项目资源的方法的示意图,如图1所示,本实施例的方法包括:
S11、在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;
一种示例性的实施例中,在管理员在Openstack***中下发项目资源分配请求之前,可以包括:
在所述管理员接收到用户请求并登录Openstack***后,生成第二上下文信息,根据所述用户请求创建项目资源的参数;根据所述项目资源的参数下发资源分配请求。
其中,用户请求可以为请求管理员为其创建项目资源的请求。可以包括目标用户ID、目标项目ID、资源大小、资源名称和资源描述等。也可以不包括目标用户ID、目标项目ID,而由管理员指定。
一种示例性的实施例中,所述根据截获的所述项目资源分配请求生成第一上下文信息,可以包括:
截获所述项目资源分配请求,从所述项目资源分配请求中提取出目标用户标识ID和目标项目标识ID,根据所述目标用户ID和目标项目ID生成第一上下文信息。
其中,所述项目资源的参数可以包括目标用户ID和目标项目ID。
其中,上述第二上下文信息至少包括管理员ID。
其中,管理员可以为具有Openstack***管理员权限的人员。
其中,所述项目资源可以包括虚拟机、卷、快照、备份等。
一种示例性的实施例中,可以调用所述Openstack***的认证模块,根据所述目标用户ID和目标项目ID生成第一上下文信息。
其中,上述第一上下文信息可以至少包括目标用户ID、目标项目ID、认证信息和目标用户权限信息。认证信息即token,token存在有效期(默认为1小时),超过有效期后,该用户就没权限执行了。目标用户权限信息指目标用户的角色,这里目标用户的角色为_member_,即Openstack***中的普通用户权限。
S12、利用所述第一上下文信息更新已有的上下文信息。
一种示例性的实施例中,可以利用上述第一上下文信息更新上述第二上下文信息。
S13、根据更新后的上下文信息和所述项目资源分配请求创建项目资源。
一种示例性的实施例中,创建项目资源可以包括用户权限的校验,数据库的更新和底层资源的分配等。
本发明根据制定的目标用户ID和目标项目ID调用Openstack***中的认证模块keystone生成新的上下文的信息(即上文中的第一上下文信息)进行用户权限校验和数据库信息的更新,保证创建资源的归属是符合要求的,能够有效解决管理员在当前原生架构下不能进行项目资源创建的问题,扩大了管理员的操作范围,满足使用云平台客户的要求。
图2为本发明实施例的基于Openstack***的创建项目资源的方法的流程图。如图2所示,包括步骤如下:
步骤201:管理员在接收用户请求并登录Openstack***所属默认项目的界面后,生成上下文信息。
其中,这里的上下文信息即为上述的第二上下文信息,可以包括管理员ID、所属默认项目ID、认证信息(token)等信息。
其中,用户请求可以为请求管理员为其创建项目资源的请求。可以包括目标用户ID、目标项目ID、资源大小、资源名称和资源描述等。也可以不包括目标用户ID、目标项目ID,而由管理员指定。
步骤202:根据用户请求创建项目资源的参数。
该项目资源的参数至少包括目标用户ID、目标项目ID,还可以包括资源大小、资源名称和资源描述等。
步骤203:根据项目资源的参数下发资源分配请求。
其中,资源分配请求中至少包括目标用户ID、目标项目ID,还可以资源大小、资源名称和资源描述等。
步骤204:在下发资源分配请求后,截获所述项目资源分配请求,根据提取出的目标用户标识ID和目标项目标识ID生成第一上下文信息。
资源分配请求可以采用post消息下发,post消息中带有body体,截获资源分配请求后,从body体中提取目标用户ID和目标项目ID。其中,可以由Openstack自带的模块(该模块并不存在于原管理员的资源创建流程中)截获资源分配请求。根据提取截获的资源分配请求中的目标用户ID和目标项目ID,根据目标用户ID和目标项目ID调用认证模块keystone生成新的上下文信息,其中包括使用目标用户ID和目标项目ID执行后续流程必备的认证信息(token)和_member_角色等信息,然后使用新生成的上下文信息new_context和资源分配请求执行创建资源流程。
步骤205:利用所述第一上下文信息更新已有的上下文信息,根据更新后的上下文信息和资源分配请求创建项目资源。
这里已有的上下文信息就是管理员登录Openstack***时,***自动生成的上下文信息。
需要说明的是:必须使用创建资源时指定的目标用户id和目标项目id重新生成新的上下文(主要包含token和_member_角色信息),否则创建的资源所归属的项目是不符合用户要求的。本发明根据指定的目标用户id和目标项目id调用认证模块keystone生成新的上下文的信息进行用户权限校验和数据库信息的更新,保证创建资源的归属是符合要求的,能够有效解决本发明的问题。
图3为本发明实施例的基于Openstack***的创建项目资源的装置的示意图,如图3所示,本实施例的性能测试装置包括:存储器和处理器;
所述存储器,用于保存用于基于Openstack***的创建项目资源的程序;
所述处理器,用于读取执行所述用于基于Openstack***的创建项目资源的程序,执行如下操作:
在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;
利用所述第一上下文信息更新已有的上下文信息;
根据更新后的上下文信息和所述项目资源分配请求创建项目资源。
一种示例性的实施例中,所述处理器,读取执行所述用于基于云管理平台的云主机管理的程序,还执行如下操作:
在所述管理员接收到用户请求并登录Openstack***后,根据所述用户请求创建项目资源的参数;
根据所述项目资源的参数下发资源分配请求。
一种示例性的实施例中,所述根据截获的所述项目资源分配请求生成第一上下文信息,包括:
截获所述项目资源分配请求,从所述项目资源分配请求中提取出目标用户标识ID和目标项目标识ID,根据所述目标用户ID和目标项目ID生成第一上下文信息。
一种示例性的实施例中,根据所述目标用户ID和目标项目ID生成第一上下文信息,包括:
调用所述Openstack***的认证模块,根据所述目标用户ID和目标项目ID生成第一上下文信息。
一种示例性的实施例中,所述项目资源的参数至少包括目标用户ID和目标项目ID;
所述第一上下文信息至少包括目标用户ID、目标项目ID、认证信息和目标用户权限信息。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种基于Openstack***的创建项目资源的方法,其特征在于,包括:
在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;
利用所述第一上下文信息更新已有的上下文信息;
根据更新后的上下文信息和所述项目资源分配请求创建项目资源;
其中,在管理员在Openstack***中下发项目资源分配请求之前,包括:
在所述管理员接收到用户请求并登录Openstack***后,根据所述用户请求创建项目资源的参数;
根据所述项目资源的参数下发项目资源分配请求;
所述根据截获的所述项目资源分配请求生成第一上下文信息,包括:
截获所述项目资源分配请求,从所述项目资源分配请求中提取出目标用户标识ID和目标项目标识ID,根据所述目标用户ID和目标项目ID生成第一上下文信息。
2.如权利要求1所述的方法,其特征在于:
所述根据所述目标用户ID和目标项目ID生成第一上下文信息,包括:
调用所述Openstack***的认证模块,根据所述目标用户ID和目标项目ID生成第一上下文信息。
3.如权利要求1所述的方法,其特征在于:
所述项目资源的参数包括目标用户ID和目标项目ID;
所述第一上下文信息至少包括目标用户ID、目标项目ID、认证信息和目标用户权限信息。
4.一种基于Openstack***的创建项目资源的装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于基于Openstack***的创建项目资源的程序;
所述处理器,用于读取执行所述用于基于Openstack***的创建项目资源的程序,执行如下操作:
在管理员在Openstack***中下发项目资源分配请求后,根据截获的所述项目资源分配请求生成第一上下文信息;
利用所述第一上下文信息更新已有的上下文信息;
根据更新后的上下文信息和所述项目资源分配请求创建项目资源;
所述处理器,读取执行所述用于基于Openstack***的创建项目资源的程序,还执行如下操作:
在所述管理员接收到用户请求并登录Openstack***后,根据所述用户请求创建项目资源的参数;
根据所述项目资源的参数下发项目资源分配请求;
所述根据截获的所述项目资源分配请求生成第一上下文信息,包括:
截获所述项目资源分配请求,从所述项目资源分配请求中提取出目标用户标识ID和目标项目标识ID,根据所述目标用户ID和目标项目ID生成第一上下文信息。
5.如权利要求4所述的装置,其特征在于:
根据所述目标用户ID和目标项目ID生成第一上下文信息,包括:
调用所述Openstack***的认证模块,根据所述目标用户ID和目标项目ID生成第一上下文信息。
6.如权利要求4所述的装置,其特征在于:
所述项目资源的参数至少包括目标用户ID和目标项目ID;
所述第一上下文信息至少包括目标用户ID、目标项目ID、认证信息和目标用户权限信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910874457.8A CN110661729B (zh) | 2019-09-17 | 2019-09-17 | 一种基于Openstack***的创建项目资源的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910874457.8A CN110661729B (zh) | 2019-09-17 | 2019-09-17 | 一种基于Openstack***的创建项目资源的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661729A CN110661729A (zh) | 2020-01-07 |
CN110661729B true CN110661729B (zh) | 2023-01-10 |
Family
ID=69037149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910874457.8A Active CN110661729B (zh) | 2019-09-17 | 2019-09-17 | 一种基于Openstack***的创建项目资源的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661729B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138389A (zh) * | 2015-07-30 | 2015-12-09 | 北京京东尚科信息技术有限公司 | 一种集群中虚拟设备的管理方法及*** |
CN107844535A (zh) * | 2017-10-19 | 2018-03-27 | 广州明珞汽车装备有限公司 | 一种外部资源库调用方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2828948T3 (es) * | 2015-07-02 | 2021-05-28 | Telefonica Cibersecurity & Cloud Tech S L U | Método, sistema y productos de programa informático para posibilitar de forma segura una funcionalidad en - red a lo largo de sesiones de datos cifradas |
-
2019
- 2019-09-17 CN CN201910874457.8A patent/CN110661729B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138389A (zh) * | 2015-07-30 | 2015-12-09 | 北京京东尚科信息技术有限公司 | 一种集群中虚拟设备的管理方法及*** |
CN107844535A (zh) * | 2017-10-19 | 2018-03-27 | 广州明珞汽车装备有限公司 | 一种外部资源库调用方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110661729A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678656B2 (en) | Intelligent restore-container service offering for backup validation testing and business resiliency | |
US9571419B2 (en) | Secure metering and accounting for cloud services | |
CN106462833B (zh) | 用于在多租户应用服务器环境中支持多个分区编辑会话的***和方法 | |
US10241681B2 (en) | Management of physical extents for space efficient storage volumes | |
US10061665B2 (en) | Preserving management services with self-contained metadata through the disaster recovery life cycle | |
US20130144845A1 (en) | Removal of data remanence in deduplicated storage clouds | |
US10001926B2 (en) | Management of extents for space efficient storage volumes by reusing previously allocated extents | |
US10204021B2 (en) | Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller | |
US20150040125A1 (en) | Allowing management of a virtual machine by multiple cloud providers | |
US11150981B2 (en) | Fast recovery from failures in a chronologically ordered log-structured key-value storage system | |
CN111684437B (zh) | 按时间顺序排序的错位更新键-值存储*** | |
US11573837B2 (en) | Service retention in a computing environment | |
CN107783826B (zh) | 一种虚拟机迁移方法、装置及*** | |
CN110661729B (zh) | 一种基于Openstack***的创建项目资源的方法和装置 | |
CN108089948A (zh) | 一种数据库备份方法及装置 | |
CN109582464B (zh) | 一种云平台管理多种虚拟化平台的方法和装置 | |
CN112241337A (zh) | 用于管理备份数据的方法、设备和计算机程序产品 | |
US11650975B2 (en) | Online file system consistency check for container data on a clustered filesystem | |
US11275770B2 (en) | Parallelization of node's fault tolerent record linkage using smart indexing and hierarchical clustering | |
US20230103888A1 (en) | Optimization of file system snapshot performance in hybrid storage deployments | |
US20210089383A1 (en) | Tracking cluster image mutation events | |
WO2023121874A1 (en) | Backup, restore, and migration of cloud managed configuration properties | |
KR20230100902A (ko) | 컨테이너에 포함된 데이터에 대한 관리 시스템 및 그 제어방법 | |
CN117909028A (zh) | 层级式容器编排***及容器编排方法 | |
CN117909027A (zh) | 层级式容器编排***及容器编排方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |