Analysis (courtesy nipak):
The issue happens as we make-before-break I.e establish new Xmpp connections,
while a background task does the cleanup of routes etc., for the older
connections.
We apply changes only if the new set is different.
With the following config applied b2b with SIGHUP,
(Server-A, Server-B)
(Server-C, Server-D)
(Server-A, Server-E, Server-D)
While connection to server-A(older incarnation) is in the process of cleaning
up, agent will apply new config(server-A) and try a new connection towards
server-A.
Control-node sends TcpClose on both the new and old connections.
Agent tries to connect endlessly.
Solution:
On deleted channels, do unregister from xmpp as soon as it is moved out of
agent channel list. This ensures that old connection is cleaned up before new
one is tried. Also old channel remains in deleted list till some new channel
becomes stable.
Reviewed: https:/ /review. opencontrail. org/31219 github. com/Juniper/ contrail- controller/ commit/ 8d834648089d16e 70cf50724d90db2 02e16c8f16
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R4.0
commit 8d834648089d16e 70cf50724d90db2 02e16c8f16
Author: Manish <email address hidden>
Date: Tue May 9 14:34:55 2017 +0530
SIGHUP on agent makes its CN connectin unstable
Analysis (courtesy nipak):
The issue happens as we make-before-break I.e establish new Xmpp connections,
while a background task does the cleanup of routes etc., for the older
connections.
We apply changes only if the new set is different.
With the following config applied b2b with SIGHUP,
(Server-A, Server-B)
(Server-C, Server-D)
(Server-A, Server-E, Server-D)
While connection to server-A(older incarnation) is in the process of cleaning
up, agent will apply new config(server-A) and try a new connection towards
server-A.
Control-node sends TcpClose on both the new and old connections.
Agent tries to connect endlessly.
Solution:
On deleted channels, do unregister from xmpp as soon as it is moved out of
agent channel list. This ensures that old connection is cleaned up before new
one is tried. Also old channel remains in deleted list till some new channel
becomes stable.
Change-Id: I7305432f8ddc09 3fdcf5a7945b0ad 70aa64caa67
Closes-bug: #1682080