Merge pull request #27123 from tonistiigi/fix-join-reconnect
Don’t attempt to reconnect swarm on failed join after timeout
This commit is contained in:
commit
0ccbae0437
|
@ -498,8 +498,15 @@ func (c *Cluster) Join(req types.JoinRequest) error {
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-time.After(swarmConnectTimeout):
|
case <-time.After(swarmConnectTimeout):
|
||||||
// attempt to connect will continue in background, also reconnecting
|
// attempt to connect will continue in background, but reconnect only if it didn't fail
|
||||||
go c.reconnectOnFailure(n)
|
go func() {
|
||||||
|
select {
|
||||||
|
case <-n.Ready():
|
||||||
|
c.reconnectOnFailure(n)
|
||||||
|
case <-n.done:
|
||||||
|
logrus.Errorf("failed to join the cluster: %+v", c.err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
return ErrSwarmJoinTimeoutReached
|
return ErrSwarmJoinTimeoutReached
|
||||||
case <-n.Ready():
|
case <-n.Ready():
|
||||||
go c.reconnectOnFailure(n)
|
go c.reconnectOnFailure(n)
|
||||||
|
|
Loading…
Reference in New Issue