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

Quantum关于network的操作(LinuxBridge

1      创建network

1.1    入口

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



 

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

action = "create_%s" % self._resource



 

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

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



 

1.2    LinuxBridge插件初始化



 

1.3    流程



 

1.4    总结

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

2      删除network

2.1    流程



 

 

3      更新network

3.1    流程



 

4      总结

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自lynnkong.iteye.com/blog/1703019