nicira plugin - metadata ops in delete_router might trigger eventlet deadlock

Bug #1225035 reported by Salvatore Orlando
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
vmware-nsx
New
Undecided
Unassigned

Bug Description

https://github.com/openstack/neutron/blob/master/neutron/plugins/nicira/NeutronPlugin.py#L1540

delete_router calls handle_router_metadata_access.
The latter method creates 1 network, 1 subnet, and attaches that subnet to the router, performing db and nvp operations.
This results in a very long transaction which can trigger eventlet deadlocks which have already been observed.

However, this is unlikely to happen in practice as router deletion is not allowed until the last interface has been removed. This means handle_router_metadata_access is likely to be a no-op.

while a simple fix might be just removing the metadata network mgmt code, it might be worth keeping it there in case the logic for router deletion might change in the future.

Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

I noticed that too when I did the refactoring...however I can see the plugin to move away from that metadata model once the agentless is introduced and supported by NVP. That does not mean that mitigation should be put in place in the meantime.

Changed in neutron:
milestone: havana-rc1 → icehouse-1
tags: added: havana-rc-potential
Thierry Carrez (ttx)
tags: added: havana-backport-potential
removed: havana-rc-potential
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-1 → icehouse-2
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-2 → icehouse-3
Changed in neutron:
milestone: icehouse-3 → icehouse-rc1
Changed in neutron:
status: New → Triaged
Changed in neutron:
milestone: icehouse-rc1 → none
goocher (farmerworking)
Changed in neutron:
status: Triaged → In Progress
no longer affects: neutron
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.