From e6445629d7f76897b426257f640b1a78cd00e5b4 Mon Sep 17 00:00:00 2001 From: Aaron Lehmann Date: Tue, 28 Mar 2017 14:20:25 -0700 Subject: [PATCH] api: Omit Cluster, Nodes, and Managers from swarm info when unavailable Currently these fields are included in the response JSON with zero values. It's better not to include them if the information is unavailable (for example, on a worker node). This turns Cluster into a pointer so that it can be left out. Signed-off-by: Aaron Lehmann --- command/system/info.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/command/system/info.go b/command/system/info.go index 448fc30514..8498dd8c55 100644 --- a/command/system/info.go +++ b/command/system/info.go @@ -97,7 +97,7 @@ func prettyPrintInfo(dockerCli *command.DockerCli, info types.Info) error { fmt.Fprintf(dockerCli.Out(), " Error: %v\n", info.Swarm.Error) } fmt.Fprintf(dockerCli.Out(), " Is Manager: %v\n", info.Swarm.ControlAvailable) - if info.Swarm.ControlAvailable && info.Swarm.Error == "" && info.Swarm.LocalNodeState != swarm.LocalNodeStateError { + if info.Swarm.Cluster != nil && info.Swarm.ControlAvailable && info.Swarm.Error == "" && info.Swarm.LocalNodeState != swarm.LocalNodeStateError { fmt.Fprintf(dockerCli.Out(), " ClusterID: %s\n", info.Swarm.Cluster.ID) fmt.Fprintf(dockerCli.Out(), " Managers: %d\n", info.Swarm.Managers) fmt.Fprintf(dockerCli.Out(), " Nodes: %d\n", info.Swarm.Nodes)