Make remove_network_from_dhcp_agent more robust

Bug #1417629 reported by Eugene Nikanorov
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Eugene Nikanorov

Bug Description

In case network failover is turned on, remove_network_from_dhcp_agent method is a matter of concurrent execution by different neutron servers.
It then may throw unexpected DB exception, breaking network failover looping call.

Neet to make both remove_network_from_dhcp_agent and remove_networks_from_down_agents more robust by catching broader exception in the loop, and using safe DB delete method.

Tags: l3-ipam-dhcp
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/152576

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/152576
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=ef7e6a8553954aeb4444c90f65ac3fece8be201a
Submitter: Jenkins
Branch: master

commit ef7e6a8553954aeb4444c90f65ac3fece8be201a
Author: Eugene Nikanorov <email address hidden>
Date: Tue Feb 3 17:47:46 2015 +0300

    Improve robustness of network failover

    In some cases when remove_network_from_dhcp_agent is called
    concurrently by more than one neutron server it leads to unexpected
    DB exception when NetworkDhcpAgentBinding is removed.
    Need to avoid such case and make remove_networks_from_down_agents
    method resistant to such issues by catching broad exception.

    Change-Id: I653e200d89eb795ded742bb49420f09f66625587
    Closes-Bug: #1417629

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
milestone: none → kilo-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: kilo-3 → 2015.1.0
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.