From 81f8ce853634d3c60caae1642d71b4770da6c1b6 Mon Sep 17 00:00:00 2001 From: Jana Radhakrishnan Date: Thu, 8 Oct 2015 19:27:14 -0700 Subject: [PATCH] Add default network restart test case Added restart test for default network so that we can test bridge network persistence. Also added changes to dnet to delete the default network if it is present. Signed-off-by: Jana Radhakrishnan --- cmd/dnet/dnet.go | 13 +++++++++---- test/integration/dnet/bridge.bats | 26 +++++++++++++++++++++----- test/integration/dnet/helpers.bash | 2 +- 3 files changed, 31 insertions(+), 10 deletions(-) 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() {