oslo.messaging/oslo_messaging
John Eckersberg f9de265f39 amqp1: Do not reuse _socket_connection on reconnect
Each _SocketConnection object is unique per-peer.  For example, the
properties attribute may contain keys such as 'x-ssl-peer-name'.
Reusing the existing _socket_connection during failover will cause the
TLS handshake to fail since the peer name will not match.  There is
potential for other similar-yet-unexplored bad things to happen as
well.

Instead, reconnect by waking up the eventloop via the _do_reconnect
method, which reconstructs the connection properties to reflect the
new (failed-over-to) host and ultimately crates a new
_SocketConnection (or re-uses a *valid* old one) in
eventloop.Thread.connect().

Closes-Bug: #1938945
Change-Id: I0c8dc447f4dc8d0d08c312a1f3e6fa1745fb69fd
2021-08-10 17:01:04 -04:00
..
_drivers amqp1: Do not reuse _socket_connection on reconnect 2021-08-10 17:01:04 -04:00
_metrics Add Support For oslo.metrics 2021-06-08 22:22:37 +08:00
hacking Remove six usage 2020-05-11 10:21:58 +02:00
notify Remove the oslo_utils.fnmatch 2021-05-11 01:02:11 +00:00
rpc Add Support For oslo.metrics 2021-06-08 22:22:37 +08:00
tests amqp1: Do not reuse _socket_connection on reconnect 2021-08-10 17:01:04 -04:00
__init__.py Remove deprecated localcontext 2016-05-18 09:28:15 +02:00
_utils.py Remove the deprecated blocking executor 2020-02-18 15:49:27 +01:00
conffixture.py Add Support For oslo.metrics 2021-06-08 22:22:37 +08:00
dispatcher.py Remove six usage 2020-05-11 10:21:58 +02:00
exceptions.py Remove six usage 2020-05-11 10:21:58 +02:00
opts.py Add a ping endpoint to RPC dispatcher 2020-08-18 15:09:29 +02:00
serializer.py Remove six usage 2020-05-11 10:21:58 +02:00
server.py Remove six usage 2020-05-11 10:21:58 +02:00
target.py Fixups to the inline documentation 2016-09-12 09:49:00 -04:00
transport.py Remove six usage 2020-05-11 10:21:58 +02:00
version.py pbr.version.VersionInfo needs package name (oslo.xyz and not oslo_xyz) 2017-02-06 12:49:23 -05:00