1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #1716 from aboch/gwf

Remove gw endpoint on gw nw join failure
This commit is contained in:
Madhu Venugopal 2017-04-11 18:53:47 -07:00 committed by GitHub
commit de0926bf39
2 changed files with 14 additions and 2 deletions

View file

@ -4,6 +4,7 @@ import (
"fmt"
"strings"
"github.com/Sirupsen/logrus"
"github.com/docker/libnetwork/netlabel"
"github.com/docker/libnetwork/types"
)
@ -72,9 +73,19 @@ func (sb *sandbox) setupDefaultGW() error {
if err != nil {
return fmt.Errorf("container %s: endpoint create on GW Network failed: %v", sb.containerID, err)
}
defer func() {
if err != nil {
if err2 := newEp.Delete(true); err2 != nil {
logrus.Warnf("Failed to remove gw endpoint for container %s after failing to join the gateway network: %v",
sb.containerID, err2)
}
}
}()
epLocal := newEp.(*endpoint)
if err := epLocal.sbJoin(sb); err != nil {
if err = epLocal.sbJoin(sb); err != nil {
return fmt.Errorf("container %s: endpoint join on GW Network failed: %v", sb.containerID, err)
}

View file

@ -528,7 +528,8 @@ func (ep *endpoint) sbJoin(sb *sandbox, options ...EndpointOption) error {
}()
if sb.needDefaultGW() && sb.getEndpointInGWNetwork() == nil {
return sb.setupDefaultGW()
err = sb.setupDefaultGW()
return err
}
moveExtConn := sb.getGatewayEndpoint() != extEp