diff --git a/cluster/swarm/cluster.go b/cluster/swarm/cluster.go index 19bbe4c392..4cd5d96ebe 100644 --- a/cluster/swarm/cluster.go +++ b/cluster/swarm/cluster.go @@ -271,6 +271,11 @@ func (c *Cluster) validatePendingEngine(engine *cluster.Engine) bool { c.Lock() defer c.Unlock() + // Only validate engines from pendingEngines list + if _, exists := c.pendingEngines[engine.Addr]; !exists { + return false + } + // Make sure the engine ID is unique. if old, exists := c.engines[engine.ID]; exists { if old.Addr != engine.Addr {