diff --git a/vendor.conf b/vendor.conf index 3d76baa9c6..0085cdbcca 100644 --- a/vendor.conf +++ b/vendor.conf @@ -38,7 +38,7 @@ github.com/gofrs/flock 7f43ea2e6a643ad441fc12d0ecc0 # libnetwork # When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy.installer accordingly -github.com/docker/libnetwork 0941c3f409260d5f05cfa6fc68420d8ad45ee483 # bump_19.03 branch +github.com/docker/libnetwork b9bcf0c3fba9ef8897c9676c5b70ba0345b84b17 # bump_19.03 branch github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9 github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80 github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec diff --git a/vendor/github.com/docker/libnetwork/agent.go b/vendor/github.com/docker/libnetwork/agent.go index fa6ec525b6..4a5c215624 100644 --- a/vendor/github.com/docker/libnetwork/agent.go +++ b/vendor/github.com/docker/libnetwork/agent.go @@ -596,7 +596,7 @@ func (ep *endpoint) deleteDriverInfoFromCluster() error { } func (ep *endpoint) addServiceInfoToCluster(sb *sandbox) error { - if ep.isAnonymous() && len(ep.myAliases) == 0 || ep.Iface().Address() == nil { + if ep.isAnonymous() && len(ep.myAliases) == 0 || ep.Iface() == nil || ep.Iface().Address() == nil { return nil } @@ -719,7 +719,7 @@ func (ep *endpoint) deleteServiceInfoFromCluster(sb *sandbox, fullRemove bool, m } } - if ep.Iface().Address() != nil { + if ep.Iface() != nil && ep.Iface().Address() != nil { if ep.svcID != "" { // This is a task part of a service var ingressPorts []*PortConfig diff --git a/vendor/github.com/docker/libnetwork/controller.go b/vendor/github.com/docker/libnetwork/controller.go index dc33ded09e..d5c22a19a0 100644 --- a/vendor/github.com/docker/libnetwork/controller.go +++ b/vendor/github.com/docker/libnetwork/controller.go @@ -979,6 +979,10 @@ func (c *controller) reservePools() { continue } for _, ep := range epl { + if ep.Iface() == nil { + logrus.Warnf("endpoint interface is empty for %q (%s)", ep.Name(), ep.ID()) + continue + } if err := ep.assignAddress(ipam, true, ep.Iface().AddressIPv6() != nil); err != nil { logrus.Warnf("Failed to reserve current address for endpoint %q (%s) on network %q (%s)", ep.Name(), ep.ID(), n.Name(), n.ID()) diff --git a/vendor/github.com/docker/libnetwork/network.go b/vendor/github.com/docker/libnetwork/network.go index 778c62a6e6..1f79577395 100644 --- a/vendor/github.com/docker/libnetwork/network.go +++ b/vendor/github.com/docker/libnetwork/network.go @@ -1329,7 +1329,7 @@ func (n *network) EndpointByID(id string) (Endpoint, error) { func (n *network) updateSvcRecord(ep *endpoint, localEps []*endpoint, isAdd bool) { var ipv6 net.IP epName := ep.Name() - if iface := ep.Iface(); iface.Address() != nil { + if iface := ep.Iface(); iface != nil && iface.Address() != nil { myAliases := ep.MyAliases() if iface.AddressIPv6() != nil { ipv6 = iface.AddressIPv6().IP