Skip to content

Commit fa65450

Browse files
author
Santhosh Manohar
authored
Merge pull request moby#1592 from mavenugo/exp
Handling the new experimental daemon flag
2 parents 16b9fc9 + 7215182 commit fa65450

File tree

8 files changed

+18
-16
lines changed

8 files changed

+18
-16
lines changed

libnetwork/config/config.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ type Config struct {
3535
// DaemonCfg represents libnetwork core configuration
3636
type DaemonCfg struct {
3737
Debug bool
38+
Experimental bool
3839
DataDir string
3940
DefaultNetwork string
4041
DefaultDriver string
@@ -222,6 +223,14 @@ func OptionPluginGetter(pg plugingetter.PluginGetter) Option {
222223
}
223224
}
224225

226+
// OptionExperimental function returns an option setter for experimental daemon
227+
func OptionExperimental(exp bool) Option {
228+
return func(c *Config) {
229+
logrus.Debugf("Option Experimental: %v", exp)
230+
c.Daemon.Experimental = exp
231+
}
232+
}
233+
225234
// ProcessOptions processes options and stores it in config
226235
func (c *Config) ProcessOptions(options ...Option) {
227236
for _, opt := range options {

libnetwork/controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ func New(cfgOptions ...config.Option) (NetworkController, error) {
188188
return nil, err
189189
}
190190

191-
for _, i := range getInitializers() {
191+
for _, i := range getInitializers(c.cfg.Daemon.Experimental) {
192192
var dcfg map[string]interface{}
193193

194194
// External plugins don't need config passed through daemon. They can
@@ -476,7 +476,7 @@ func (c *controller) ID() string {
476476

477477
func (c *controller) BuiltinDrivers() []string {
478478
drivers := []string{}
479-
for _, i := range getInitializers() {
479+
for _, i := range getInitializers(c.cfg.Daemon.Experimental) {
480480
if i.ntype == "remote" {
481481
continue
482482
}

libnetwork/drivers_experimental_linux.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// +build experimental
2-
31
package libnetwork
42

53
import "github.com/docker/libnetwork/drivers/ipvlan"

libnetwork/drivers_freebsd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"github.com/docker/libnetwork/drivers/remote"
66
)
77

8-
func getInitializers() []initializer {
8+
func getInitializers(experimental bool) []initializer {
99
return []initializer{
1010
{null.Init, "null"},
1111
{remote.Init, "remote"},

libnetwork/drivers_linux.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"github.com/docker/libnetwork/drivers/remote"
1010
)
1111

12-
func getInitializers() []initializer {
12+
func getInitializers(experimental bool) []initializer {
1313
in := []initializer{
1414
{bridge.Init, "bridge"},
1515
{host.Init, "host"},
@@ -19,6 +19,8 @@ func getInitializers() []initializer {
1919
{overlay.Init, "overlay"},
2020
}
2121

22-
in = append(in, additionalDrivers()...)
22+
if experimental {
23+
in = append(in, additionalDrivers()...)
24+
}
2325
return in
2426
}

libnetwork/drivers_solaris.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/docker/libnetwork/drivers/solaris/overlay"
77
)
88

9-
func getInitializers() []initializer {
9+
func getInitializers(experimental bool) []initializer {
1010
return []initializer{
1111
{overlay.Init, "overlay"},
1212
{bridge.Init, "bridge"},

libnetwork/drivers_stub_linux.go

Lines changed: 0 additions & 7 deletions
This file was deleted.

libnetwork/drivers_windows.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/docker/libnetwork/drivers/windows/overlay"
88
)
99

10-
func getInitializers() []initializer {
10+
func getInitializers(experimental bool) []initializer {
1111
return []initializer{
1212
{null.Init, "null"},
1313
{overlay.Init, "overlay"},

0 commit comments

Comments
 (0)