From eee20b564ffae0b8c8043115c959f0f9d1869fed Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Tue, 14 Jun 2016 07:43:25 -0700 Subject: [PATCH] Add security info to `docker info` The security infomation has already been added to `GET /info` in #21172. However, it is not part of the output of `docker info` yet. This fix adds the security information to `docker info`. Additional tests has been added to cover changes. This fix fixes #23500. This fix is related to #20909, #21172. Signed-off-by: Yong Tang --- api/client/info.go | 4 ++++ integration-cli/docker_cli_info_test.go | 1 + integration-cli/docker_cli_info_unix_test.go | 15 +++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 integration-cli/docker_cli_info_unix_test.go diff --git a/api/client/info.go b/api/client/info.go index df1415c9cb..cf4d4fff0b 100644 --- a/api/client/info.go +++ b/api/client/info.go @@ -94,6 +94,10 @@ func (cli *DockerCli) CmdInfo(args ...string) error { fmt.Fprintf(cli.out, "Default Runtime: %s\n", info.DefaultRuntime) } + fmt.Fprintf(cli.out, "Security Options:") + ioutils.FprintfIfNotEmpty(cli.out, " %s", strings.Join(info.SecurityOptions, " ")) + fmt.Fprintf(cli.out, "\n") + ioutils.FprintfIfNotEmpty(cli.out, "Kernel Version: %s\n", info.KernelVersion) ioutils.FprintfIfNotEmpty(cli.out, "Operating System: %s\n", info.OperatingSystem) ioutils.FprintfIfNotEmpty(cli.out, "OSType: %s\n", info.OSType) diff --git a/integration-cli/docker_cli_info_test.go b/integration-cli/docker_cli_info_test.go index 816cbfdde2..ba358112f9 100644 --- a/integration-cli/docker_cli_info_test.go +++ b/integration-cli/docker_cli_info_test.go @@ -32,6 +32,7 @@ func (s *DockerSuite) TestInfoEnsureSucceeds(c *check.C) { "Storage Driver:", "Volume:", "Network:", + "Security Options:", } if DaemonIsLinux.Condition() { diff --git a/integration-cli/docker_cli_info_unix_test.go b/integration-cli/docker_cli_info_unix_test.go new file mode 100644 index 0000000000..900534d68d --- /dev/null +++ b/integration-cli/docker_cli_info_unix_test.go @@ -0,0 +1,15 @@ +// +build !windows + +package main + +import ( + "github.com/docker/docker/pkg/integration/checker" + "github.com/go-check/check" +) + +func (s *DockerSuite) TestInfoSecurityOptions(c *check.C) { + testRequires(c, SameHostDaemon, seccompEnabled, Apparmor, DaemonIsLinux) + + out, _ := dockerCmd(c, "info") + c.Assert(out, checker.Contains, "Security Options: apparmor seccomp") +}