Neutron DHCP-Agent问题分析定位(3)

作者:闫兴安

1.4   代码流程分析

1.4.1 dhcp port如何进行bind_port

plugin中,在创建port时会进行bind_port。所谓bind是指端口id、主机名、网络属性进行绑定。

其中网络属性包括:网络ID、网络类型、物理网络名称、网络segment-id。

bind_port的过程:

1)      按序遍历所有mech_driver,挨个进行bind_port。

2)      如果某个mech_driver报异常,记log,然后继续进行下一个mech driver的bind。

3)      如果某个mech_driver没有进行绑定,继续进行下一个mech driver的bind。

4)      只要有一个mech_driver bind成功,就返回。(ovs driver不支持多层bind)

5)      如果所有的mech_driver都绑定失败,记vif_type为binding_failed。

 

我们的环境中mech_driver只有openvswitch,所以来看下ovs driver的binding:

1)      遍历所有agent,如果是down的,不进行绑定,记Log;如果是active的,执行下面步骤。

2)      检查agent的上报过来的配置。包括:网络类型是否在agent的配置文件中配置;如果是flat和vlan类型的网络,还检查物理网络名称是否在agent的配置文件中配置;

3)      如果上述检查不通过,不进行绑定;如果检查通过,进行绑定。

4)      只要有一个agent绑定成功,就返回,表示ovs driver绑定成功。

5)      如果所有的agent都没有进行绑定,就会出现binding_failed。

 

1.4.2 dhcp-agent与plugin的同步

dhcp-agent主动同步过程:

1)      启动时,首先从namespace名字中获取网络信息,记录到cache(内存)中。后续从plugin获取的所有信息都记录在cache里。之后进行同步时依据的就是这个cache。

2)      可以同步指定的网

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值