作者:闫兴安
1.5.11 测试dhcp-agent的同步-停掉mysql
启动3个dhcp-agent,对应节点分别称为network1, network2, network3。
将neutron.conf中的dhcp_agents_per_network配置为2。重启neutron-server。
创建网络,观察网络创建成功,dhcp-port创建成功。
neutron port-show,看到dhcp port绑定在network2和network3上。
停掉全部mysqld,使得neutron-server无法更新port的属性。
查看dhcp-agent log,
出现无法report state的错误,即上报agent状态失败。
此时重启network1的dhcp-agent,因为无法上报agent状态,无法开始同步。
等待约10分钟,恢复1个mysqld服务。
查看dhcp-agent日志,发现并没有任何新的日志出现。【这里有bug】
neutron agent-list查看,各个agent已经为up状态。
此时查看两个dhcp-port所在的节点,分别在network1和network2。
分别在network1, network2, network3上查看namespace和dnsmasq的状态。
成功复现了bug。
进一步确认现象是否一致。
在namespace里互相ping,发现ping不通,这是因为出现了地址冲突。
新创建网络,查看功能是否正常。
网络创建正常。
到网络节点上查看dhcp namespace和dnsmasq服务,都正常。
至此,问题确认成功复现了。
1.5.12 tap未删除的原因分析
这里我们来分析一下,对于已经创建好的网络,为什么重启mysql,会导致出现多余tap。
网络创建是成功的,网络成功调度某些dhcp-