mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
vendor: update libnetwork 1a17fb36132631a95fe6bb055b91e24a516ad81d
full diff: ef149a924d...1a17fb3613
- docker/libnetwork#2538 produce an error with invalid address pool
- addresses docker/docker#40388 dockerd ignores the --default-address-pool option
- docker/libnetwork#2471 DOCKER-USER chain not created when IPTableEnable=false
- docker/libnetwork#2544 Fix NPE due to null value returned by ep.Iface()
- carries docker/libnetwork#2239 Prevent NPE in addServiceInfoToCluster()
- addresses docker/docker#37506 Error initializing docker.server while starting daemon by systemd
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
ba8129b28a
commit
c3808634e7
7 changed files with 54 additions and 18 deletions
|
@ -39,7 +39,7 @@ github.com/gofrs/flock 392e7fae8f1b0bdbd67dad7237d2
|
||||||
# libnetwork
|
# libnetwork
|
||||||
|
|
||||||
# When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy.installer accordingly
|
# When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy.installer accordingly
|
||||||
github.com/docker/libnetwork ef149a924dfde2e506ea3cb3f617d7d0fa96b8ee
|
github.com/docker/libnetwork 1a17fb36132631a95fe6bb055b91e24a516ad81d
|
||||||
github.com/docker/go-events e31b211e4f1cd09aa76fe4ac244571fab96ae47f
|
github.com/docker/go-events e31b211e4f1cd09aa76fe4ac244571fab96ae47f
|
||||||
github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
|
github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
|
||||||
github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec
|
github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec
|
||||||
|
|
4
vendor/github.com/docker/libnetwork/agent.go
generated
vendored
4
vendor/github.com/docker/libnetwork/agent.go
generated
vendored
|
@ -596,7 +596,7 @@ func (ep *endpoint) deleteDriverInfoFromCluster() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ep *endpoint) addServiceInfoToCluster(sb *sandbox) 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
|
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 != "" {
|
if ep.svcID != "" {
|
||||||
// This is a task part of a service
|
// This is a task part of a service
|
||||||
var ingressPorts []*PortConfig
|
var ingressPorts []*PortConfig
|
||||||
|
|
33
vendor/github.com/docker/libnetwork/controller.go
generated
vendored
33
vendor/github.com/docker/libnetwork/controller.go
generated
vendored
|
@ -67,6 +67,7 @@ import (
|
||||||
"github.com/docker/libnetwork/hostdiscovery"
|
"github.com/docker/libnetwork/hostdiscovery"
|
||||||
"github.com/docker/libnetwork/ipamapi"
|
"github.com/docker/libnetwork/ipamapi"
|
||||||
"github.com/docker/libnetwork/netlabel"
|
"github.com/docker/libnetwork/netlabel"
|
||||||
|
"github.com/docker/libnetwork/options"
|
||||||
"github.com/docker/libnetwork/osl"
|
"github.com/docker/libnetwork/osl"
|
||||||
"github.com/docker/libnetwork/types"
|
"github.com/docker/libnetwork/types"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
@ -252,6 +253,7 @@ func New(cfgOptions ...config.Option) (NetworkController, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupArrangeUserFilterRule(c)
|
||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -909,8 +911,7 @@ addToStore:
|
||||||
arrangeIngressFilterRule()
|
arrangeIngressFilterRule()
|
||||||
c.Unlock()
|
c.Unlock()
|
||||||
}
|
}
|
||||||
|
arrangeUserFilterRule()
|
||||||
c.arrangeUserFilterRule()
|
|
||||||
|
|
||||||
return network, nil
|
return network, nil
|
||||||
}
|
}
|
||||||
|
@ -979,6 +980,10 @@ func (c *controller) reservePools() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
for _, ep := range epl {
|
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 {
|
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)",
|
logrus.Warnf("Failed to reserve current address for endpoint %q (%s) on network %q (%s)",
|
||||||
ep.Name(), ep.ID(), n.Name(), n.ID())
|
ep.Name(), ep.ID(), n.Name(), n.ID())
|
||||||
|
@ -1363,3 +1368,27 @@ func (c *controller) IsDiagnosticEnabled() bool {
|
||||||
defer c.Unlock()
|
defer c.Unlock()
|
||||||
return c.DiagnosticServer.IsDiagnosticEnabled()
|
return c.DiagnosticServer.IsDiagnosticEnabled()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *controller) iptablesEnabled() bool {
|
||||||
|
c.Lock()
|
||||||
|
defer c.Unlock()
|
||||||
|
|
||||||
|
if c.cfg == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// parse map cfg["bridge"]["generic"]["EnableIPTable"]
|
||||||
|
cfgBridge, ok := c.cfg.Daemon.DriverCfg["bridge"].(map[string]interface{})
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
cfgGeneric, ok := cfgBridge[netlabel.GenericData].(options.Generic)
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
enabled, ok := cfgGeneric["EnableIPTables"].(bool)
|
||||||
|
if !ok {
|
||||||
|
// unless user explicitly stated, assume iptable is enabled
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
return enabled
|
||||||
|
}
|
||||||
|
|
22
vendor/github.com/docker/libnetwork/firewall_linux.go
generated
vendored
22
vendor/github.com/docker/libnetwork/firewall_linux.go
generated
vendored
|
@ -7,21 +7,25 @@ import (
|
||||||
|
|
||||||
const userChain = "DOCKER-USER"
|
const userChain = "DOCKER-USER"
|
||||||
|
|
||||||
func (c *controller) arrangeUserFilterRule() {
|
var (
|
||||||
c.Lock()
|
ctrl *controller = nil
|
||||||
arrangeUserFilterRule()
|
)
|
||||||
c.Unlock()
|
|
||||||
iptables.OnReloaded(func() {
|
func setupArrangeUserFilterRule(c *controller) {
|
||||||
c.Lock()
|
ctrl = c
|
||||||
arrangeUserFilterRule()
|
iptables.OnReloaded(arrangeUserFilterRule)
|
||||||
c.Unlock()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This chain allow users to configure firewall policies in a way that persists
|
// This chain allow users to configure firewall policies in a way that persists
|
||||||
// docker operations/restarts. Docker will not delete or modify any pre-existing
|
// docker operations/restarts. Docker will not delete or modify any pre-existing
|
||||||
// rules from the DOCKER-USER filter chain.
|
// rules from the DOCKER-USER filter chain.
|
||||||
|
// Note once DOCKER-USER chain is created, docker engine does not remove it when
|
||||||
|
// IPTableForwarding is disabled, because it contains rules configured by user that
|
||||||
|
// are beyond docker engine's control.
|
||||||
func arrangeUserFilterRule() {
|
func arrangeUserFilterRule() {
|
||||||
|
if ctrl == nil || !ctrl.iptablesEnabled() {
|
||||||
|
return
|
||||||
|
}
|
||||||
_, err := iptables.NewChain(userChain, iptables.Filter, false)
|
_, err := iptables.NewChain(userChain, iptables.Filter, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Warnf("Failed to create %s chain: %v", userChain, err)
|
logrus.Warnf("Failed to create %s chain: %v", userChain, err)
|
||||||
|
|
4
vendor/github.com/docker/libnetwork/firewall_others.go
generated
vendored
4
vendor/github.com/docker/libnetwork/firewall_others.go
generated
vendored
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
package libnetwork
|
package libnetwork
|
||||||
|
|
||||||
func (c *controller) arrangeUserFilterRule() {
|
func setupArrangeUserFilterRule(c *controller) {}
|
||||||
}
|
func arrangeUserFilterRule() {}
|
||||||
|
|
5
vendor/github.com/docker/libnetwork/ipams/builtin/builtin_unix.go
generated
vendored
5
vendor/github.com/docker/libnetwork/ipams/builtin/builtin_unix.go
generated
vendored
|
@ -35,7 +35,10 @@ func Init(ic ipamapi.Callback, l, g interface{}) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ipamutils.ConfigLocalScopeDefaultNetworks(GetDefaultIPAddressPool())
|
err := ipamutils.ConfigLocalScopeDefaultNetworks(GetDefaultIPAddressPool())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
a, err := ipam.NewAllocator(localDs, globalDs)
|
a, err := ipam.NewAllocator(localDs, globalDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
2
vendor/github.com/docker/libnetwork/network.go
generated
vendored
2
vendor/github.com/docker/libnetwork/network.go
generated
vendored
|
@ -1329,7 +1329,7 @@ func (n *network) EndpointByID(id string) (Endpoint, error) {
|
||||||
func (n *network) updateSvcRecord(ep *endpoint, localEps []*endpoint, isAdd bool) {
|
func (n *network) updateSvcRecord(ep *endpoint, localEps []*endpoint, isAdd bool) {
|
||||||
var ipv6 net.IP
|
var ipv6 net.IP
|
||||||
epName := ep.Name()
|
epName := ep.Name()
|
||||||
if iface := ep.Iface(); iface.Address() != nil {
|
if iface := ep.Iface(); iface != nil && iface.Address() != nil {
|
||||||
myAliases := ep.MyAliases()
|
myAliases := ep.MyAliases()
|
||||||
if iface.AddressIPv6() != nil {
|
if iface.AddressIPv6() != nil {
|
||||||
ipv6 = iface.AddressIPv6().IP
|
ipv6 = iface.AddressIPv6().IP
|
||||||
|
|
Loading…
Add table
Reference in a new issue