diff --git a/cmd/dnet/dnet.go b/cmd/dnet/dnet.go index 17a1fa7..6b2a526 100644 --- a/cmd/dnet/dnet.go +++ b/cmd/dnet/dnet.go @@ -185,17 +185,22 @@ func createDefaultNetwork(c libnetwork.NetworkController) { // Bridge driver is special due to legacy reasons if d == "bridge" { genericOption[netlabel.GenericData] = map[string]interface{}{ - "BridgeName": nw, + "BridgeName": "docker0", + "DefaultBridge": "true", } createOptions = append(createOptions, libnetwork.NetworkOptionGeneric(genericOption), ipamOption(nw)) } - if _, err := c.NetworkByName(nw); err == nil { - logrus.Debugf("Default network %s already present", nw) - return + if n, err := c.NetworkByName(nw); err == nil { + logrus.Debugf("Default network %s already present. Deleting it", nw) + if err = n.Delete(); err != nil { + logrus.Debugf("Network could not be deleted: %v", err) + return + } } + _, err := c.NewNetwork(d, nw, createOptions...) if err != nil { logrus.Errorf("Error creating default network : %s : %v", nw, err) diff --git a/test/integration/dnet/bridge.bats b/test/integration/dnet/bridge.bats index ac07e9b..510b58e 100644 --- a/test/integration/dnet/bridge.bats +++ b/test/integration/dnet/bridge.bats @@ -49,6 +49,21 @@ function test_single_network_connectivity() { test_single_network_connectivity bridge 3 } +@test "Test default network dnet restart" { + skip_for_circleci + + echo $(docker ps) + + for iter in `seq 1 2`; + do + test_single_network_connectivity bridge 3 + if [ "$iter" -eq 1 ]; then + docker restart dnet-1-bridge + sleep 5 + fi + done +} + @test "Test bridge network" { skip_for_circleci @@ -67,8 +82,10 @@ function test_single_network_connectivity() { for iter in `seq 1 2`; do test_single_network_connectivity singlehost 3 - docker restart dnet-1-bridge - sleep 2 + if [ "$iter" -eq 1 ]; then + docker restart dnet-1-bridge + sleep 5 + fi done dnet_cmd $(inst_id2port 1) network rm singlehost @@ -84,12 +101,11 @@ function test_single_network_connectivity() { do if [ "$iter" -eq 1 ]; then test_single_network_connectivity singlehost 3 skip + docker restart dnet-1-bridge + sleep 5 else test_single_network_connectivity singlehost 3 fi - - docker restart dnet-1-bridge - sleep 5 done dnet_cmd $(inst_id2port 1) network rm singlehost diff --git a/test/integration/dnet/helpers.bash b/test/integration/dnet/helpers.bash index 5a6a6e3..f97436e 100644 --- a/test/integration/dnet/helpers.bash +++ b/test/integration/dnet/helpers.bash @@ -110,7 +110,7 @@ EOF -v /usr/local/bin/runc:/usr/local/bin/runc \ -w /go/src/github.com/docker/libnetwork \ golang:1.4 ./cmd/dnet/dnet -d -D ${hopt} -c ${tomlfile} - sleep 2 + sleep 3 } function skip_for_circleci() {