[Bug 2018405] Re: [SRU] neutron ovsdbapp ssl connection stuck in OSError error loop
Edward Hope-Morley
2018405 at bugs.launchpad.net
Wed Jun 21 13:38:05 UTC 2023
As I understand it there is an upcoming 2.17.7 release of openvswitch
and that will contain this and
https://github.com/openvswitch/ovs/commit/111c7be3193e15e2acf8af8ceb74a1177a95806d
that we are also waiting for (although they are unrelated). Therefore we
are ok to wait for that point release so that we only need upgrade once.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to openvswitch in Ubuntu.
https://bugs.launchpad.net/bugs/2018405
Title:
[SRU] neutron ovsdbapp ssl connection stuck in OSError error loop
Status in openvswitch package in Ubuntu:
New
Status in openvswitch source package in Jammy:
New
Status in openvswitch source package in Kinetic:
New
Status in openvswitch source package in Lunar:
New
Status in openvswitch source package in Mantic:
New
Bug description:
[Impact]
terminated/closed ssl connections between openstack agents and the ovn-central databases are not properly handled and this patch fixes that.
[Test Plan]
* deploy Openstack with OVN
* abruptly terminate connections between neutron-server and/or neutron-ovn-metadata-agent and ovn-central NB/SB database servers.
* ensure that connections are re-established and the errors below no not appear.
[Regression Potential]
No regressions are anticipated as a result of using this patch.
---------------------------------------------------------------------
We are running Openstack Yoga on both Ubuntu Focal and Ubuntu Jammy
and both environments are experiencing the following errors in
neutron-server and neutron-ovn-metadata-agent:
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection [req-302f6be6-5b72-49b4-9132-d9ec39370fd5 - - - - -] [Errno 107] Transport endpoint is not connected: OSError: [Errno 107] Transport endpoint is not connected
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection Traceback (most recent call last):
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 108, in run
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection self.idl.run()
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/db/idl.py", line 433, in run
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection self._session.run()
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/jsonrpc.py", line 519, in run
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection error = self.stream.connect()
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/ovs/stream.py", line 824, in connect
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection self.socket.do_handshake()
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 311, in do_handshake
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection return self._call_trampolining(
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 157, in _call_trampolining
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection return func(*a, **kw)
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3.10/ssl.py", line 1337, in do_handshake
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection self._check_connected()
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection File "/usr/lib/python3.10/ssl.py", line 1119, in _check_connected
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection self.getpeername()
2023-05-02 00:01:05.026 2146189 ERROR ovsdbapp.backend.ovs_idl.connection OSError: [Errno 107] Transport endpoint is not connected
This reconnect error happens forever after an initial ssl disconnect
like:
2023-04-12 19:15:40.281 2146189 ERROR ovsdbapp.backend.ovs_idl.transaction [req-7d895085-c4e1-43b9-a36f-808e86ef5caa f3797dd627d24377a7d0a1330595aed9 e4b04ca58d734ed0aa29e306adad4f79 - 93f9c955065f4cb38b9a8f1b98eedb92 93f9c955065f4cb38b9a8f1b98eedb92] Traceback (most recent
call last):
File "/usr/lib/python3/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 131, in run
txn.results.put(txn.do_commit())
File "/usr/lib/python3/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 114, in do_commit
self.api.idl.run()
File "/usr/lib/python3/dist-packages/ovs/db/idl.py", line 433, in run
self._session.run()
File "/usr/lib/python3/dist-packages/ovs/jsonrpc.py", line 519, in run
error = self.stream.connect()
File "/usr/lib/python3/dist-packages/ovs/stream.py", line 824, in connect
self.socket.do_handshake()
File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 311, in do_handshake
return self._call_trampolining(
File "/usr/lib/python3/dist-packages/eventlet/green/ssl.py", line 157, in _call_trampolining
return func(*a, **kw)
File "/usr/lib/python3.10/ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:997)
Versions:
focal:
ii python3-openvswitch 2.17.2-0ubuntu0.22.04.2~cloud0 all Python 3 bindings for Open vSwitch
ii python3-ovsdbapp 1.1.0-0ubuntu2 all library for creating OVSDB applications - Python 3.x
jammy:
ii python3-openvswitch 2.17.3-0ubuntu0.22.04.2 all Python 3 bindings for Open vSwitch
ii python3-ovsdbapp 1.15.1-0ubuntu2 all library for creating OVSDB applications - Python 3.x
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2018405/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list