Browse code

Fix LogConfig.Config in inspect

Also add test for daemon-wide log-opt.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>

Alexander Morozov authored on 2015/08/18 07:27:44
Showing 2 changed files
... ...
@@ -41,7 +41,7 @@ func (daemon *Daemon) getInspectData(container *Container) (*types.ContainerJSON
41 41
 		hostConfig.LogConfig.Type = daemon.defaultLogConfig.Type
42 42
 	}
43 43
 
44
-	if hostConfig.LogConfig.Config == nil {
44
+	if len(hostConfig.LogConfig.Config) == 0 {
45 45
 		hostConfig.LogConfig.Config = daemon.defaultLogConfig.Config
46 46
 	}
47 47
 
... ...
@@ -1558,3 +1558,15 @@ func (s *DockerDaemonSuite) TestDaemonCorruptedSyslogAddress(c *check.C) {
1558 1558
 		c.Fatalf("Expected 'Error starting daemon' message; but doesn't exist in log: %q, err: %v", out, err)
1559 1559
 	}
1560 1560
 }
1561
+
1562
+func (s *DockerDaemonSuite) TestDaemonWideLogConfig(c *check.C) {
1563
+	c.Assert(s.d.Start("--log-driver=json-file", "--log-opt=max-size=1k"), check.IsNil)
1564
+	out, err := s.d.Cmd("run", "-d", "--name=logtest", "busybox", "top")
1565
+	c.Assert(err, check.IsNil, check.Commentf("Output: %s, err: %v", out, err))
1566
+	out, err = s.d.Cmd("inspect", "-f", "{{ .HostConfig.LogConfig.Config }}", "logtest")
1567
+	c.Assert(err, check.IsNil, check.Commentf("Output: %s", out))
1568
+	cfg := strings.TrimSpace(out)
1569
+	if cfg != "map[max-size:1k]" {
1570
+		c.Fatalf("Unexpected log-opt: %s, expected map[max-size:1k]", cfg)
1571
+	}
1572
+}