While looking to reproduce this issue we found this in the logs of both the neutron-ovn-metadata-agent and neutron-server:
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection [-] (111, 'ECONNREFUSED'): OpenSSL.SSL.SysCallError: (111, 'ECONNREFUSED') 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection Traceback (most recent call last): 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 106, in run 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection self.idl.run() 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/db/idl.py", line 240, in run 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection self._session.run() 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/jsonrpc.py", line 532, in run 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection self.__connect() 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/jsonrpc.py", line 467, in __connect 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection error, self.stream = ovs.stream.Stream.open(name) 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/stream.py", line 192, in open 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection err = ovs.socket_util.check_connection_completion(sock) 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/socket_util.py", line 181, in check_connection_completion 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection sock.send("\0".encode(), socket.MSG_DONTWAIT) 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 1737, in send 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection self._raise_ssl_error(self._ssl, result) 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 1639, in _raise_ssl_error 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection raise SysCallError(errno, errorcode.get(errno)) 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection OpenSSL.SSL.SysCallError: (111, 'ECONNREFUSED') 2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.backend.ovs_idl.connection
I suspect the log excerpts printed in comments above is fallout from this condition and that both issues will go away with a fixed python-ovs.
While looking to reproduce this issue we found this in the logs of both the neutron- ovn-metadata- agent and neutron-server:
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp. backend. ovs_idl. connection [-] (111, 'ECONNREFUSED'): OpenSSL. SSL.SysCallErro r: (111, 'ECONNREFUSED') backend. ovs_idl. connection Traceback (most recent call last): backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ ovsdbapp/ backend/ ovs_idl/ connection. py", line 106, in run backend. ovs_idl. connection self.idl.run() backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ ovs/db/ idl.py" , line 240, in run backend. ovs_idl. connection self._session.run() backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ ovs/jsonrpc. py", line 532, in run backend. ovs_idl. connection self.__connect() backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ ovs/jsonrpc. py", line 467, in __connect backend. ovs_idl. connection error, self.stream = ovs.stream. Stream. open(name) backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ ovs/stream. py", line 192, in open backend. ovs_idl. connection err = ovs.socket_ util.check_ connection_ completion( sock) backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ ovs/socket_ util.py" , line 181, in check_connectio n_completion backend. ovs_idl. connection sock.send( "\0".encode( ), socket. MSG_DONTWAIT) backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ OpenSSL/ SSL.py" , line 1737, in send backend. ovs_idl. connection self._raise_ ssl_error( self._ssl, result) backend. ovs_idl. connection File "/usr/lib/ python3/ dist-packages/ OpenSSL/ SSL.py" , line 1639, in _raise_ssl_error backend. ovs_idl. connection raise SysCallError(errno, errorcode. get(errno) ) backend. ovs_idl. connection OpenSSL. SSL.SysCallErro r: (111, 'ECONNREFUSED') backend. ovs_idl. connection
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
2021-03-16 10:56:45.465 270932 ERROR ovsdbapp.
I suspect the log excerpts printed in comments above is fallout from this condition and that both issues will go away with a fixed python-ovs.