半小时理解Neutron代码结构(Juno)

半小时理解Neutron代码结构(Juno)

     sina微博@北京-小武  个人博客: http://blog.csdn.net/night_elf_1020                           

 

Neutron的代码交互稍显复杂,对于理解底层网络原理的同学可能比较容易理解;代码也在不断的被完善和添加新的feature中,所以neutron的代码结构在不断变化中,应该用不变的网络原理去理解上层可能千变万化的neutron代码;这个也是为何《云计算网络珠玑》中不花费笔墨讲解neutron代码的原因。

 

1 代码总体架构

从文件夹的命名也基本可以得出该目录代码的作用,几个重要的文件夹如下:

agent主要是l3 agent及l3 agent ha的相关代码;

common主要是各底层驱动与linux系统命令的交互层;

db是neutron各功能与数据库交互数据的代码;

extensions主要包括的一些扩展功能,包括dvr的代码等;

plugins是core plugin的代码,包括ovs,ml2和各个厂商ibm、ryu提供等的plugin;

scheduler是创建dhcp服务和router到各l3 agent的调度分配相关代码;

server是neutron server相关的代码;

services则是包含了lbaas、vpnaas、fwaas、l3-router、metering等服务的plugin和agent代码;

2.Neutron server 启动过程

1)server/__init__.py负责启动neutron-server进程

def main():

    #the configuration will be read into the cfg.CONF global data structure

   config.init(sys.argv[1:])

   if not cfg.CONF.config_file:

       sys.exit(_("ERROR: Unable to find configuration file via thedefault"

                   " search paths(~/.neutron/, ~/, /etc/neutron/, /etc/) and"

                   " the '--config-file'option!"))

   try:

       pool = eventlet.GreenPool()

 

       neutron_api = service.se

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值