ソースを参照

Merge pull request #29374 from mavenugo/exp

Add the missing experimental ipvlan network driver
Tibor Vass 8 年 前
コミット
98fef1cb0b

+ 1 - 0
daemon/daemon.go

@@ -1189,6 +1189,7 @@ func (daemon *Daemon) networkOptions(dconfig *Config, pg plugingetter.PluginGett
 		return options, nil
 	}
 
+	options = append(options, nwconfig.OptionExperimental(dconfig.Experimental))
 	options = append(options, nwconfig.OptionDataDir(dconfig.Root))
 	options = append(options, nwconfig.OptionExecRoot(dconfig.GetExecRoot()))
 

+ 1 - 1
vendor.conf

@@ -23,7 +23,7 @@ github.com/RackSec/srslog 456df3a81436d29ba874f3590eeeee25d666f8a5
 github.com/imdario/mergo 0.2.1
 
 #get libnetwork packages
-github.com/docker/libnetwork 4df06c4a7d9b67d0948eab39c5d013d7296acdbf
+github.com/docker/libnetwork b908488a139e81cb8c4091cd836745aeb4d813a4
 github.com/docker/go-events 18b43f1bc85d9cdd42c05a6cd2d444c7a200a894
 github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
 github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec

+ 9 - 0
vendor/github.com/docker/libnetwork/config/config.go

@@ -35,6 +35,7 @@ type Config struct {
 // DaemonCfg represents libnetwork core configuration
 type DaemonCfg struct {
 	Debug           bool
+	Experimental    bool
 	DataDir         string
 	DefaultNetwork  string
 	DefaultDriver   string
@@ -222,6 +223,14 @@ func OptionPluginGetter(pg plugingetter.PluginGetter) Option {
 	}
 }
 
+// OptionExperimental function returns an option setter for experimental daemon
+func OptionExperimental(exp bool) Option {
+	return func(c *Config) {
+		logrus.Debugf("Option Experimental: %v", exp)
+		c.Daemon.Experimental = exp
+	}
+}
+
 // ProcessOptions processes options and stores it in config
 func (c *Config) ProcessOptions(options ...Option) {
 	for _, opt := range options {

+ 2 - 2
vendor/github.com/docker/libnetwork/controller.go

@@ -188,7 +188,7 @@ func New(cfgOptions ...config.Option) (NetworkController, error) {
 		return nil, err
 	}
 
-	for _, i := range getInitializers() {
+	for _, i := range getInitializers(c.cfg.Daemon.Experimental) {
 		var dcfg map[string]interface{}
 
 		// External plugins don't need config passed through daemon. They can
@@ -476,7 +476,7 @@ func (c *controller) ID() string {
 
 func (c *controller) BuiltinDrivers() []string {
 	drivers := []string{}
-	for _, i := range getInitializers() {
+	for _, i := range getInitializers(c.cfg.Daemon.Experimental) {
 		if i.ntype == "remote" {
 			continue
 		}

+ 0 - 2
vendor/github.com/docker/libnetwork/drivers_experimental_linux.go

@@ -1,5 +1,3 @@
-// +build experimental
-
 package libnetwork
 
 import "github.com/docker/libnetwork/drivers/ipvlan"

+ 1 - 1
vendor/github.com/docker/libnetwork/drivers_freebsd.go

@@ -5,7 +5,7 @@ import (
 	"github.com/docker/libnetwork/drivers/remote"
 )
 
-func getInitializers() []initializer {
+func getInitializers(experimental bool) []initializer {
 	return []initializer{
 		{null.Init, "null"},
 		{remote.Init, "remote"},

+ 4 - 2
vendor/github.com/docker/libnetwork/drivers_linux.go

@@ -9,7 +9,7 @@ import (
 	"github.com/docker/libnetwork/drivers/remote"
 )
 
-func getInitializers() []initializer {
+func getInitializers(experimental bool) []initializer {
 	in := []initializer{
 		{bridge.Init, "bridge"},
 		{host.Init, "host"},
@@ -19,6 +19,8 @@ func getInitializers() []initializer {
 		{overlay.Init, "overlay"},
 	}
 
-	in = append(in, additionalDrivers()...)
+	if experimental {
+		in = append(in, additionalDrivers()...)
+	}
 	return in
 }

+ 1 - 1
vendor/github.com/docker/libnetwork/drivers_solaris.go

@@ -6,7 +6,7 @@ import (
 	"github.com/docker/libnetwork/drivers/solaris/overlay"
 )
 
-func getInitializers() []initializer {
+func getInitializers(experimental bool) []initializer {
 	return []initializer{
 		{overlay.Init, "overlay"},
 		{bridge.Init, "bridge"},

+ 0 - 7
vendor/github.com/docker/libnetwork/drivers_stub_linux.go

@@ -1,7 +0,0 @@
-// +build !experimental
-
-package libnetwork
-
-func additionalDrivers() []initializer {
-	return nil
-}

+ 1 - 1
vendor/github.com/docker/libnetwork/drivers_windows.go

@@ -7,7 +7,7 @@ import (
 	"github.com/docker/libnetwork/drivers/windows/overlay"
 )
 
-func getInitializers() []initializer {
+func getInitializers(experimental bool) []initializer {
 	return []initializer{
 		{null.Init, "null"},
 		{overlay.Init, "overlay"},