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() }