【openstack】Quantum关于network的操作(LinuxBridge)

Quantum关于network的操作(LinuxBridge)

声明:

本博客欢迎转发,但请保留原作者信息!

新浪微博:@孔令贤HW

博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!



version:Folsom

1      创建network

1.1    入口

由前几篇文档可知,对资源的处理都在Mapper对应的Controller中:

【openstack】Quantum关于network的操作(LinuxBridge)_第1张图片
 

以创建network为例,在quantum/api/v2/base.py的Controller类中的create函数中:

action = "create_%s" % self._resource

【openstack】Quantum关于network的操作(LinuxBridge)_第2张图片
 

本文以linuxbridge插件为例,所以代码中的self._plugin=quantum/plugin/linuxbridge/lb_quantum_plugin.py/LinuxBridgePluginV2

(需要注意的是,该类继承自quantum/db/db_base_plugin_v2.py/QuantumDbPluginV2和quantum/db/l3_db.py/L3_NAT_db_mixin)。类的继承关系如下:

【openstack】Quantum关于network的操作(LinuxBridge)_第3张图片
 


1.2    LinuxBridge插件初始化

【openstack】Quantum关于network的操作(LinuxBridge)_第4张图片
 


1.3    流程

【openstack】Quantum关于network的操作(LinuxBridge)_第5张图片
 


1.4    总结

由上述分析,创建网络,只是在逻辑上创建,不涉及底层,但需要在数据库中记录逻辑网络与物理网络的对应关系,物理网络的信息体现在配置文件中。


2      删除network

2.1    流程

【openstack】Quantum关于network的操作(LinuxBridge)_第6张图片
 

 

3      更新network

3.1    流程

【openstack】Quantum关于network的操作(LinuxBridge)_第7张图片


 

4      总结

个人理解,看待Quantum网络模型时可以从上层的逻辑概念和下层的物理概念区分。有一些概念或对象只在上层关注,下层的agent或物理网络只关心实际的操作和部署。当然,需要上下层配合时,就需要做映射,比如networkbinding表就是用来映射逻辑网络和实际物理网络的关系。

你可能感兴趣的:(数据库,网络,文档,action,NetWork)