]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Prevent L3 agent looping calls from hanging
authorSalvatore Orlando <salv.orlando@gmail.com>
Wed, 2 Oct 2013 19:14:14 +0000 (12:14 -0700)
committerMark McClain <mark.mcclain@dreamhost.com>
Tue, 8 Oct 2013 17:45:34 +0000 (13:45 -0400)
commitbc507645f1b570e048bd0d2616d5243b4ca5534f
tree8fb4f0d3cdce02e00d43ecce38a361579337098b
parentb988984907d36ffbe593014c9433f2b0d26feb60
Prevent L3 agent looping calls from hanging

This patch adopts several measures to prevent _sync_routers_task
and _rpc_loop from hanging because of subprocess.Popen.communicate
not returning.

1) Perform a sleep everytime a command is completed, similarly to
what is done in openstack.common.processutils.execute
2) Disable by default GARP, as kernel crashes caused by arping
have been observed
3) Prevent a non-critical keyerror in _router_removed from triggering
again a full sync, which might put the system under significant load.

This patch also adds debug log statements aimed at improving the
ability of debugging similar failures.

Change-Id: I003316bce0f38b7d2ea7d563b5a0a58676834398
Partial-Bug: 1224001
(cherry picked from commit 591ee00a67fbbe5f106ba12140b9f9420dee5907)
neutron/agent/l3_agent.py
neutron/agent/linux/utils.py
neutron/tests/unit/test_l3_agent.py