I have a mitaka enviroment with one controller host, one network host and two computer hosts. All the l3 agents of my computer hosts and network host are configed as dvr_snat mode. I created a dvr+ha router and boot a vm with one of subnet associated with this router. This vm accesses the internet normally before or after associating a floating ip with it. But when I disassociated the floating ip, the vm can not access the internet any more.
Pre-conditions:
run L3 agent with dvr_snat mode on network nodes and compute nodes
How to reprocude:
create a dvr+ha router
create a subnet and associate this subnet with the router
create a vm with the subnet
associate a floating ip with the vm and then disassociate it
the vm can not access internet
Analysis:
I found that the ip rule "36709: from 10.10.30.4 lookup 16"(this ip is the vm's fixed ip) is still in the router's qrouter namespace on the compute host, although I diassociated the floating ip. Then I debug the code and found dvr_edge_ha_router can not execute code into remove_floating_ip function.
Marking as triaged until we can see the fix or a link to the broken part of the code.