From dce60f5afbfea0514cf769ae290de06563954eae Mon Sep 17 00:00:00 2001 From: Alessandro Boch Date: Wed, 15 Mar 2017 16:44:47 -0700 Subject: [PATCH] Remove enpoint state from cluster on join failure Signed-off-by: Alessandro Boch --- libnetwork/endpoint.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libnetwork/endpoint.go b/libnetwork/endpoint.go index f47ea4e18f..7d9e54733a 100644 --- a/libnetwork/endpoint.go +++ b/libnetwork/endpoint.go @@ -519,6 +519,14 @@ func (ep *endpoint) sbJoin(sb *sandbox, options ...EndpointOption) error { return err } + defer func() { + if err != nil { + if e := ep.deleteDriverInfoFromCluster(); e != nil { + logrus.Errorf("Could not delete endpoint state for endpoint %s from cluster on join failure: %v", ep.Name(), e) + } + } + }() + if sb.needDefaultGW() && sb.getEndpointInGWNetwork() == nil { return sb.setupDefaultGW() }