]> 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)
committerSalvatore Orlando <salv.orlando@gmail.com>
Tue, 8 Oct 2013 13:08:01 +0000 (06:08 -0700)
commit591ee00a67fbbe5f106ba12140b9f9420dee5907
tree189ab98b194136ee0ce822b006bb3b9252f181cd
parent8640b3e4329281c58c3afa6380716adfefa181a0
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
neutron/agent/l3_agent.py
neutron/agent/linux/utils.py
neutron/tests/unit/test_l3_agent.py