The cause of this error log is because concurrent operation. The steps are
1) A router is created.
2) router interface is added, and neutron will schedule the router to a l3-agent. It is the df-l3-agent in dragonflow's case. See [1]
3) When the l3-agent is chosen, and it will sync router from neutron-server. At the same time, it will update the router interface's bind-host, see [2].
4) In the update_port, neutron will check the port existence at the very beginning, see [3]
5) But the fullstack test will delete router soon after it is created. So, let's assume that the router and its interfaces are deleted after [3] but before [4]. From the log, DELETE request can be observed before the error update_port_postcommit. So, the port will be deleted from nb db before code hit [4]
6) When code hit [4], it will report error as port can't be found.
The cause of this error log is because concurrent operation. The steps are
1) A router is created. port_postcommit . So, the port will be deleted from nb db before code hit [4]
2) router interface is added, and neutron will schedule the router to a l3-agent. It is the df-l3-agent in dragonflow's case. See [1]
3) When the l3-agent is chosen, and it will sync router from neutron-server. At the same time, it will update the router interface's bind-host, see [2].
4) In the update_port, neutron will check the port existence at the very beginning, see [3]
5) But the fullstack test will delete router soon after it is created. So, let's assume that the router and its interfaces are deleted after [3] but before [4]. From the log, DELETE request can be observed before the error update_
6) When code hit [4], it will report error as port can't be found.
[1] https:/ /github. com/openstack/ neutron/ blob/a80b89b6fe 1611a68d34684d9 e80ad606f115366 /neutron/ api/rpc/ agentnotifiers/ l3_rpc_ agent_api. py#L101
[2] https:/ /github. com/openstack/ neutron/ blob/a80b89b6fe 1611a68d34684d9 e80ad606f115366 /neutron/ api/rpc/ handlers/ l3_rpc. py#L152- L155
[3] https:/ /github. com/openstack/ neutron/ blob/a80b89b6fe 1611a68d34684d9 e80ad606f115366 /neutron/ plugins/ ml2/plugin. py#L1390- L1392
[4] https:/ /github. com/openstack/ neutron/ blob/a80b89b6fe 1611a68d34684d9 e80ad606f115366 /neutron/ plugins/ ml2/plugin. py#L1484