OpenStack Neutron中的ML2 Plugin.docx
《OpenStack Neutron中的ML2 Plugin.docx》由会员分享,可在线阅读,更多相关《OpenStack Neutron中的ML2 Plugin.docx(4页珍藏版)》请在三一办公上搜索。
1、OpenStack Neutron中的ML2 Plugin本文包含两部分内容:ML2Plugin & Port Binding 1、 ML2 Plugin 既实现了核心资源,也包括了port binding等部分扩展资源。它完成了网络拓扑类型与底层虚拟网络实现的解耦,分别通过Type Manager,Mechanism Manager管理Type Driver、Mechanism Driver去实现。 2、ML2 Plugin的源码结构中比较关键的文件为: plugin.py 类ML2Plugin的实现 manager.py,定义了Type Manager,Mechanism Manager类
2、的实现。 drivers.py,定义了Type Driver、Mechanism Driver的实现。 3、类ML2Plugin ML2Plugin继承自众多Mixin,其主要作用是完成一些数据库操作,致力于正确有效地管理三种核心资源极其相互关系,同时正确地和Agent交互,从而完成虚拟网络部署。 ML2除了三种核心资源外,也支持许多扩展资源。类ML2Plugin需要实现这些资源的操作接口,供Controller调用。 3.1、创建一个网络 当需要创建一个网络时,可以执行Neutron的客户端创建命令,该命令经过路由以后,最终由Plugin的create_network函数完成。 该函数取出传
3、递进来的参数,ML2Plugin类完成数据库模型的创建,然后通过Type Manager调用Type Driver的接口;通过Mechanism Manager先后调用调用Mechanism Driver的precommit、postcommit接口; 3.2 关于概念segment的说明 可理解为对物理网络一部分的描述,比如众多VLAN中的一个VLAN可以理解为一个segment。segment有类型、物理网络,segment_ID三个标记。 3.3 关于概念provider的说明 provider用于在创建虚拟网络时指定这个虚拟网络所占用的物理网络资源。其有对应的Provider Exte
4、nsion API。 当一个虚拟网络可以包括多个不同的provider network时,这个虚拟网络就称为Multi-Segment Network。 4 、Type Manager,Mechanism Manager 负责加载对应的Driver,并将具体的操作分发到具体的Driver上,同时也提供一些Driver通用的代码。 Type Manager在初始化时,会加载对应的Type Driver,二者共同提供了对segment的各种操作,包括存储、验证、分配和回收等。 在创建network的时候,会从传递的参数中提取出segment的信息,并将其传向type manager。type ma
5、nager会从参数中提取出的相关信息建立一个segment结构,然后告诉typer driver保留这个segment。 Mechanism Manager提供两个结构,其中precommit接口在数据库session时调用,而postcommit在数据库提交完成时调用。Mechanism Manager分发操作并具体传递操作到Mechanism Driver的方式与Type Manager相同。由于Mechanism Driver对应的是具体的物理实现方式,故而需要Mechanism Driver处理的操作都会按照配置的顺序依次调用每一个具体的Driver对应的函数来完成。 5、type D



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OpenStack Neutron中的ML2 Plugin Neutron 中的 ML2

链接地址:https://www.31ppt.com/p-3162563.html