CN105630496A - 一种基于Neutron的新增REST插件方法 - Google Patents

一种基于Neutron的新增REST插件方法 Download PDF

Info

Publication number
CN105630496A
CN105630496A CN201510981288.XA CN201510981288A CN105630496A CN 105630496 A CN105630496 A CN 105630496A CN 201510981288 A CN201510981288 A CN 201510981288A CN 105630496 A CN105630496 A CN 105630496A
Authority
CN
China
Prior art keywords
plug
class
neutron
unit
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
Application number
CN201510981288.XA
Other languages
English (en)
Inventor
熊梦
杨松
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201510981288.XA priority Critical patent/CN105630496A/zh
Publication of CN105630496A publication Critical patent/CN105630496A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及云计算技术领域,特别是一种基于Neutron的新增REST插件方法。本发明所述方法包括:在扩展包中定义新增插件扩展描述类和插件基类;在服务包中定义新增插件的具体实现资源操作类;在数据包中定义新增插件数据库操作类;接着在公共常量模块中设置新增插件的相关变量;最后定义好新增插件需要使用的相关配置。本发明可在Neutron上进行快速的二次开发,编写满足自己云平台功能需求的REST插件;可以用于云平台功能需求的新增REST插件上。

Description

一种基于Neutron的新增REST插件方法
技术领域
本发明涉及云计算技术领域,特别是一种基于Neutron的新增REST插件方法。
背景技术
REST和RESTful
REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。
Web应用程序最重要的REST原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
另一个比较重要的原则则是在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用URI(UniversalResourceIdentifier)得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态。使用的是标准的HTTP方法,比如GET、PUT、POST和DELETE。
Neutron和Openstack
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。Neutron则是Openstack云平台里面用于实现虚拟机网络、子网、路由、安全组、防火墙以及负载均衡等所有虚拟网络功能。
随着Openstack开源云平台应用越来越广泛,各家云平台都借助于其实现自己的私有云平台,但是往往Openstack现有的功能并不能满足用户的特色需求,故需求对其进行二次开发。本发明的方法则是提供了一种基于Neutron组件的新增REST插件的方法。
发明内容
本发明解决的技术问题在于提供一种基于Neutron新增REST插件的方法,实现了在Neutron上进行快速的二次开发,编写满足自己云平台功能需求的REST插件。
本发明解决上述技术问题的技术方案是:
所述的方法包括:
(1)、在扩展包中定义新增插件扩展描述类和插件基类;
(2)、在服务包中定义新增插件的具体实现资源操作类;
(3)、在数据包中定义新增插件数据库操作类;
(4)、接着在公共常量模块中设置新增插件的相关变量;
(5)、最后定义好新增插件需要使用的相关配置。
所述的插件是基于neutron而开发的支持REST规范的软件程序。
所述的包是指python程序中包含一个_init_.py文件的目录;
所述的扩展包是指Neutron组件中的extensions目录;
所述的服务包是指Neutron组件中的services目录;
所述的服务包是指Neutron组件中的db目录。
所述的插件扩展描述类是指继承了extensions.ExtensionDescriptor描述基类的python类,主要用于抽象的描述插件资源的url和action等;
所述的插件基类是指继承了service_base.ServicePluginBase服务基类的python类,主要用于描述插件要实现的资源操作;
所述的插件资源操作类则是继承了所述插件基类的python类,主要是实现基类里的资源操作方法,并调用插件数据库操作类;
所述的插件数据库操作类则是继承了Neutron中数据库操作基类的python类,负责完成资源数据的保存和读取。
所述的模块是指python语言中一个.py文件,而所述的公共常量模块则是constants.py文件;所述的常量是指新增插件被Neutron成功集成所必须的一些宏定义等;
所述的配置包括在neutron.conf配置文件中增加新插件的相关配置等。
本发明方案的有益效果如下:
1、提供一种在Neutron上进行快速的二次开发,编写满足自己云平台功能需求REST插件的方法。
2、本发明方法自定义的新插件不影响Neutron组件本身的虚拟网络功能,可以弹性伸缩。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在Openstack其他组件的基础上新增插件的类似方法实施例,都属于本发明保护的范围。
请参见图1,为本发明实施例提供的一种基于Neutron新增REST插件的方法的流程示意图,本实施类以增加自定义插件gcloud_nat为例进行描述,所述方法包括:
在扩展包中定义新增插件扩展描述类和插件基类。具体的是在Neutron的extension包里增加一个模块gcloud_nat.py,并在该模块下面创建与模块名一致的插件描述类Gcloud_nat以及插件基类GcloudNatPluginBase。如下所示:
插件描述类主要包括get_resources方法,将插件中的实体以资源的形式返回,以便REST接口方式调用。
插件基类GcloudNatPluginBase则定义标准的REST接口方法,即POST、PUT、GET、DELETE接口对应的create_gcloud_nat、update_gcloud_nat、get_gcloud_nat、delte_gcloud_nat抽象方法。
接着在服务包中定义新增插件的具体实现资源操作类。即在Neutron的services包中新建gcloud_nat_plugin.py文件并定义GcloudNatPluginV2操作类,主要目的实现插件基类的REST抽象接口,进行具体的业务实现,然后调用数据库操作类操作数据库。
在数据包中定义新增插件数据库操作类。即在Neutron的db包中新增gcloud_nat_db.py文件并定义插件数据库操作类GcloudNatMixin和插件数据库实体类GcloudNat类,通过这两个类实现插件对数据库的新增、修改、删除、查询等功能。
接着在公共常量模块中设置新增插件的相关变量。即在Neutron的plugins/common/constants.py模块中增加新插件相关的宏变量,如:
GCLOUD_NAT=″gcloudnat″
......
最后定义好新增插件需要使用的相关配置。如在Neutron的配置文件neutron.conf中新增名称为gcloud_nat的service_plugin。
以上所揭露的仅为本发明其中一个实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (5)

1.一种基于Neutron新增REST插件的方法,其特征在于,所述的方法包括:
(1)、在扩展包中定义新增插件扩展描述类和插件基类;
(2)、在服务包中定义新增插件的具体实现资源操作类;
(3)、在数据包中定义新增插件数据库操作类;
(4)、接着在公共常量模块中设置新增插件的相关变量;
(5)、最后定义好新增插件需要使用的相关配置。
2.根据权利要求1所述的方法,其特征在于,所述的插件是基于neutron而开发的支持REST规范的软件程序。
3.根据权利要求1所述的方法,其特征在于,所述的包是指python程序中包含一个__init__.py文件的目录;
所述的扩展包是指Neutron组件中的extensions目录;
所述的服务包是指Neutron组件中的services目录;
所述的服务包是指Neutron组件中的db目录。
4.根据权利要求2所述的方法,其特征在于,所述的包是指python程序中包含一个__init__.py文件的目录;
所述的扩展包是指Neutron组件中的extensions目录;
所述的服务包是指Neutron组件中的services目录;
所述的服务包是指Neutron组件中的db目录。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述的插件扩展描述类是指继承了extensions.ExtensionDescriptor描述基类的python类,主要用于抽象的描述插件资源的url和action等;
所述的插件基类是指继承了service_base.ServicePluginBase服务基类的python类,主要用于描述插件要实现的资源操作;
所述的插件资源操作类则是继承了所述插件基类的python类,主要是实现基类里的资源操作方法,并调用插件数据库操作类;
所述的插件数据库操作类则是继承了Neutron中数据库操作基类的python类,负责完成资源数据的保存和读取。
所述的模块是指python语言中一个.py文件,而所述的公共常量模块则是constants.py文件;所述的常量是指新增插件被Neutron成功集成所必须的一些宏定义等;
所述的配置包括在neutron.conf配置文件中增加新插件的相关配置等。
CN201510981288.XA 2015-12-22 2015-12-22 一种基于Neutron的新增REST插件方法 Withdrawn CN105630496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510981288.XA CN105630496A (zh) 2015-12-22 2015-12-22 一种基于Neutron的新增REST插件方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510981288.XA CN105630496A (zh) 2015-12-22 2015-12-22 一种基于Neutron的新增REST插件方法

Publications (1)

Publication Number Publication Date
CN105630496A true CN105630496A (zh) 2016-06-01

Family

ID=56045486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510981288.XA Withdrawn CN105630496A (zh) 2015-12-22 2015-12-22 一种基于Neutron的新增REST插件方法

Country Status (1)

Country Link
CN (1) CN105630496A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825954A (zh) * 2014-03-10 2014-05-28 中国联合网络通信集团有限公司 一种OpenFlow控制方法及相应插件、平台和网络
CN104092565A (zh) * 2014-06-24 2014-10-08 复旦大学 一种面向云数据中心的多租户策略驱动型软件定义网络方法
US20150063166A1 (en) * 2013-08-27 2015-03-05 Futurewei Technologies, Inc. System and Method for Mobile Network Function Virtualization
CN104539743A (zh) * 2015-01-26 2015-04-22 中国联合网络通信集团有限公司 一种云计算系统及其控制方法
US20150295844A1 (en) * 2012-12-03 2015-10-15 Hewlett-Packard Development Company, L.P. Asynchronous framework for management of iaas

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150295844A1 (en) * 2012-12-03 2015-10-15 Hewlett-Packard Development Company, L.P. Asynchronous framework for management of iaas
US20150063166A1 (en) * 2013-08-27 2015-03-05 Futurewei Technologies, Inc. System and Method for Mobile Network Function Virtualization
CN103825954A (zh) * 2014-03-10 2014-05-28 中国联合网络通信集团有限公司 一种OpenFlow控制方法及相应插件、平台和网络
CN104092565A (zh) * 2014-06-24 2014-10-08 复旦大学 一种面向云数据中心的多租户策略驱动型软件定义网络方法
CN104539743A (zh) * 2015-01-26 2015-04-22 中国联合网络通信集团有限公司 一种云计算系统及其控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戢友: "《OpenStack开源云王者归来 云计算、虚拟化、Nova、Swift、Quantum与Hadoop》", 31 August 2014 *

Similar Documents

Publication Publication Date Title
KR101873941B1 (ko) 멀티-테넌트 아이덴티티 및 데이터 보안 관리 클라우드 서비스
US10567364B2 (en) Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10644929B2 (en) Defining configurable characteristics of a product and associating configuration with enterprise resources
JP2018088293A (ja) 単一テナント及び複数テナント環境を提供するデータベースシステム
CN105138592B (zh) 一种基于分布式架构的日志数据存储和检索方法
US11218421B1 (en) Methods and systems for migrating virtual private cloud (VPC) resources across public cloud environments
WO2020162988A1 (en) Replication of resource type and schema metadata for a multi-tenant identity cloud service
US20130232470A1 (en) Launching an application stack on a cloud platform environment
CN204695386U (zh) 面向多租户的管理信息系统
US11005957B2 (en) Distributed generation of live feed updates in a social networking system
CN102523308B (zh) 一种应用开发方法和运行该方法所开发应用的平台系统
CN104135507A (zh) 一种防盗链的方法和装置
CN104866976A (zh) 面向多租户的管理信息系统
CN110502560A (zh) 一种数据库连接参数封装的方法及服务器
US11533337B2 (en) MULP: a multi-layer approach to ACL pruning
US10135728B2 (en) Partial switching of network traffic
CN105630496A (zh) 一种基于Neutron的新增REST插件方法
US10148766B2 (en) Methods, systems, and computer readable media for subscriber binding repository reconfiguration
CN112910796B (zh) 流量管理方法、装置、设备、存储介质以及程序产品
Beloudane et al. Towards an Efficient Management of Mobile Cloud Computing Services based on Multi Agent Systems
CN113556370A (zh) 一种服务调用方法和装置
US11240107B1 (en) Validation and governance of a cloud computing platform based datacenter
CN115037572B (zh) 一种应用请求的识别方法和装置
US10943031B2 (en) Adaptive data sanitation system for endpoints
CN114116847A (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: 20160601