diff --git a/docker/docker.go b/docker/docker.go index c9b321d..0d82250 100644 --- a/docker/docker.go +++ b/docker/docker.go @@ -30,7 +30,7 @@ const ( ) type DockerApi interface { - CreateNetwork(id string) error + CreateNetwork(id string, opts types.NetworkCreate) error ConnectNetwork(container, network, ip string) (string, error) GetDaemonInfo() (types.Info, error) GetDaemonHost() string @@ -60,8 +60,7 @@ type docker struct { c *client.Client } -func (d *docker) CreateNetwork(id string) error { - opts := types.NetworkCreate{Driver: "overlay", Attachable: true} +func (d *docker) CreateNetwork(id string, opts types.NetworkCreate) error { _, err := d.c.NetworkCreate(context.Background(), id, opts) if err != nil { diff --git a/docker/mock.go b/docker/mock.go index 9f7099a..ac885f9 100644 --- a/docker/mock.go +++ b/docker/mock.go @@ -13,8 +13,8 @@ type Mock struct { mock.Mock } -func (m *Mock) CreateNetwork(id string) error { - args := m.Called(id) +func (m *Mock) CreateNetwork(id string, opts types.NetworkCreate) error { + args := m.Called(id, opts) return args.Error(0) } diff --git a/provisioner/overlay.go b/provisioner/overlay.go index b2fd736..528a55c 100644 --- a/provisioner/overlay.go +++ b/provisioner/overlay.go @@ -6,6 +6,7 @@ import ( "net/url" "strings" + dtypes "github.com/docker/docker/api/types" "github.com/play-with-docker/play-with-docker/config" "github.com/play-with-docker/play-with-docker/docker" "github.com/play-with-docker/play-with-docker/pwd/types" @@ -33,7 +34,8 @@ func (p *overlaySessionProvisioner) SessionNew(s *types.Session) error { s.Host = chunks[0] } - if err := dockerClient.CreateNetwork(s.Id); err != nil { + opts := dtypes.NetworkCreate{Driver: "overlay", Attachable: true} + if err := dockerClient.CreateNetwork(s.Id, opts); err != nil { log.Println("ERROR NETWORKING", err) return err } diff --git a/pwd/client_test.go b/pwd/client_test.go index 8017a80..ed69b31 100644 --- a/pwd/client_test.go +++ b/pwd/client_test.go @@ -4,6 +4,7 @@ import ( "testing" "time" + dtypes "github.com/docker/docker/api/types" "github.com/play-with-docker/play-with-docker/config" "github.com/play-with-docker/play-with-docker/docker" "github.com/play-with-docker/play-with-docker/event" @@ -26,7 +27,7 @@ func TestClientNew(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) @@ -65,7 +66,7 @@ func TestClientCount(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) @@ -102,7 +103,7 @@ func TestClientResizeViewPort(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) diff --git a/pwd/instance_test.go b/pwd/instance_test.go index 9da9901..b241b9a 100644 --- a/pwd/instance_test.go +++ b/pwd/instance_test.go @@ -5,6 +5,7 @@ import ( "testing" "time" + dtypes "github.com/docker/docker/api/types" "github.com/play-with-docker/play-with-docker/config" "github.com/play-with-docker/play-with-docker/docker" "github.com/play-with-docker/play-with-docker/event" @@ -51,7 +52,7 @@ func TestInstanceNew(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) @@ -116,7 +117,7 @@ func TestInstanceNew_WithNotAllowedImage(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) @@ -182,7 +183,7 @@ func TestInstanceNew_WithCustomHostname(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) diff --git a/pwd/session_test.go b/pwd/session_test.go index 686ae46..f941570 100644 --- a/pwd/session_test.go +++ b/pwd/session_test.go @@ -4,6 +4,7 @@ import ( "testing" "time" + dtypes "github.com/docker/docker/api/types" "github.com/play-with-docker/play-with-docker/config" "github.com/play-with-docker/play-with-docker/docker" "github.com/play-with-docker/play-with-docker/event" @@ -27,7 +28,7 @@ func TestSessionNew(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil) @@ -81,7 +82,7 @@ func TestSessionSetup(t *testing.T) { _g.On("NewId").Return("aaaabbbbcccc") _f.On("GetForSession", "aaaabbbbcccc").Return(_d, nil) - _d.On("CreateNetwork", "aaaabbbbcccc").Return(nil) + _d.On("CreateNetwork", "aaaabbbbcccc", dtypes.NetworkCreate{Attachable: true, Driver: "overlay"}).Return(nil) _d.On("GetDaemonHost").Return("localhost") _d.On("ConnectNetwork", config.L2ContainerName, "aaaabbbbcccc", "").Return("10.0.0.1", nil) _s.On("SessionPut", mock.AnythingOfType("*types.Session")).Return(nil)