Signed-off-by: Madhu Venugopal <madhu@docker.com>
| ... | ... |
@@ -738,3 +738,29 @@ func (s *DockerNetworkSuite) TestDockerNetworkRunNetByID(c *check.C) {
|
| 738 | 738 |
out, _ := dockerCmd(c, "network", "create", "one") |
| 739 | 739 |
dockerCmd(c, "run", "-d", "--net", strings.TrimSpace(out), "busybox", "top") |
| 740 | 740 |
} |
| 741 |
+ |
|
| 742 |
+func (s *DockerNetworkSuite) TestDockerNetworkHostModeUngracefulDaemonRestart(c *check.C) {
|
|
| 743 |
+ testRequires(c, DaemonIsLinux, NotUserNamespace) |
|
| 744 |
+ s.d.Start() |
|
| 745 |
+ |
|
| 746 |
+ // Run a few containers on host network |
|
| 747 |
+ for i := 0; i < 10; i++ {
|
|
| 748 |
+ cName := fmt.Sprintf("hostc-%d", i)
|
|
| 749 |
+ out, err := s.d.Cmd("run", "-d", "--name", cName, "--net=host", "--restart=always", "busybox", "top")
|
|
| 750 |
+ c.Assert(err, checker.IsNil, check.Commentf(out)) |
|
| 751 |
+ } |
|
| 752 |
+ |
|
| 753 |
+ // Kill daemon ungracefully and restart |
|
| 754 |
+ if err := s.d.cmd.Process.Kill(); err != nil {
|
|
| 755 |
+ c.Fatal(err) |
|
| 756 |
+ } |
|
| 757 |
+ s.d.Restart() |
|
| 758 |
+ |
|
| 759 |
+ // make sure all the containers are up and running |
|
| 760 |
+ for i := 0; i < 10; i++ {
|
|
| 761 |
+ cName := fmt.Sprintf("hostc-%d", i)
|
|
| 762 |
+ runningOut, err := s.d.Cmd("inspect", "--format='{{.State.Running}}'", cName)
|
|
| 763 |
+ c.Assert(err, checker.IsNil) |
|
| 764 |
+ c.Assert(strings.TrimSpace(runningOut), checker.Equals, "true") |
|
| 765 |
+ } |
|
| 766 |
+} |