Monitor agent fails to monitor the switch once switch restarts.
socket.recv() is a blocked call (if timeout value is not passed)
due to which we cannot determine if the remote OVSDB server has died.
The remote OVSDB server sends echo requests every 4 seconds.
If there is no echo request on the socket for socket_timeout seconds
(by default socket_timeout value is 30 seconds), the agent can
safely assume that the connection with the remote OVSDB server is lost.
Better to retry by reopening the socket.
whenever l2gw agent IP:PORT is configured in manager table
of ovsdb server, it has to be configured in l2gateway_agent.ini
so that l2gw agent can listen for the connection request from ovsdb
server for the configured port.
ovsdb server initiates the connection to l2gw agent with the entries in
manager table in ovsdb hardware vtep schema.
A configurable option 'enable_manager' in .ini file is provided so that
the connection can be initiated by the ovsdb server or not based on boolean
By default 'enable_manager' value is False, turn on the variable to True
to initiate the connection from ovsdb server to l2gw agent.
The patch provides the following:
1. A base L2 gateway agent and manager that:
a. periodically sends heart beats to the Neutron server
b. processes basic RPC (setting the agent type) received from the plugin
2. A variant of L2 gateway agent manager that:
a. manages connections to the configured OVSDB servers
b. processes RPCs originated from the plugin destined to the OVSDB servers
c. notifies to the plugin of any changes in the configured OVSDB servers'
Partially implements: blueprint l2-gateway-api