作者:閆興安
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進程在同步時被成功刪除。
沒有復現問題。