Comment 12 for bug 1394576

Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

Neutron doesn't use RPC CALL timeouts for certain procedures and this why Broken Pipe appears.

Explanation: RPC Call procedure opens socket from RPC Client to RPC Server with appropriate timeout. So, when client executes call without timeout, client would not wait to receive the server's response and transport socket will be closed immediately by sending SIGPIPE, and when server will try to write its response to that socket it will fail due to ERROR 32 - Broken Pipe.

So, as you can see, all OpenStack services should use explicitly defined timeouts when using RPC CALL method. That's why this bug is not caused by oslo.messaging too. Reason: stabale/juno Neutron RPC L3 agent API doesn't use RPC CALL timeouts at all, see [2].

[2] https://github.com/openstack/neutron/blob/stable/juno/neutron/agent/l3_agent.py