作者:闫兴安
1.5.8 测试dhcp-agent的同步功能-删除网络
找个正常的环境进行测试。
1) 创建网络,观察网络dhcp创建成功,然后删除网络,看到namespace还在,但是tap口和dnsmasq都没了:
2) 创建网络,停掉dhcp-agent,删除网络。
然后重启dhcp-agent,看能否同步删除dhcp namespace和dnsmasq。
也没问题,tap口和dnsmasq都删除了。
1.5.9 测试dhcp-agent 的同步-单agent-创建网络
停掉dhcp-agent,创建网络
可以看到dhcp-port没有创建。
此时重启dhcp-agent,然后查看网络信息。
从以上现象可以看出,dhcp-agent启动后会向plugin请求网络信息,并创建dhcp port,启动dnsmasq进程。
1.5.10 测试dhcp-agent的同步-多agent-网络迁移
启动3个dhcp-agent,对应节点分别称为network1, network2, network3。
将neutron.conf中的dhcp_agents_per_network配置为2。重启neutron-server。
创建网络,查看dhcp port创建成功,并确认对应节点上的dnsmasq进程正常。
经确认,这两个port分别运行在network2和network3上。
将network3的dhcp-agent停掉,并等待1分钟,neutron agent-list中显示此agent为xxx状态。
此时show这个agent上的dhcp port状态仍为active。
再过一会,可以看到这个port的binding_host变为network1。
在network1上查看dhcp:
此时因为network3上,dhcp-agent是down的,所以namespace和dnsmasq进程还是存在的。
将network3上的dhcp-agent恢复,观察现象。
可以看到network3上的dhcp namespace和dnsmasq进程在同步时被成功删除。
没有复现问题。