dvr router slow response during port update
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
norman shen |
Bug Description
We are having a distributed router which used by hundreds of virtual machines scattered across around 150 compute nodes. When nova sends port update request to neutron, it will generally taking nearly 4 min to complete.
Neutron version is openstack Queens 12.0.5.
I found the following log entries printed by neutron-server,
2019-05-25 05:24:16,285.285 11834 INFO neutron.wsgi [req-xxxx xxxxx - default default] x.x.x.x "PUT /v2.0/ports/
You can see it takes around 240 seconds to finish request.
Right now I am suspecting this code snippet https:/
Changed in neutron: | |
importance: | Undecided → Medium |
tags: | added: l3-dvr-backlog |
Changed in neutron: | |
assignee: | nobody → Swaminathan Vasudevan (swaminathan-vasudevan) |
Changed in neutron: | |
assignee: | Swaminathan Vasudevan (swaminathan-vasudevan) → norman shen (jshen28) |
Changed in neutron: | |
status: | Confirmed → In Progress |
Changed in neutron: | |
status: | In Progress → Fix Committed |
Changed in neutron: | |
status: | Fix Committed → In Progress |
So if I understand right this only happens when the VM is created first and then the subnet is associated with the router.
Based on what you mention here it seems that it is taking some time to check for the connected routers.
Probably we should check if there are connected routers for the router_id before going through the other hosts and updating all hosts.
We should probably use this function to check with this function first self._get_ other_dvr_ router_ ids_connected_ router