Signed-off-by: allencloud <allen.sun@daocloud.io>
| ... | ... |
@@ -103,7 +103,7 @@ func prettyPrintInfo(dockerCli *command.DockerCli, info types.Info) error {
|
| 103 | 103 |
fmt.Fprintf(dockerCli.Out(), " Error: %v\n", info.Swarm.Error) |
| 104 | 104 |
} |
| 105 | 105 |
fmt.Fprintf(dockerCli.Out(), " Is Manager: %v\n", info.Swarm.ControlAvailable) |
| 106 |
- if info.Swarm.ControlAvailable {
|
|
| 106 |
+ if info.Swarm.ControlAvailable && info.Swarm.Error == "" && info.Swarm.LocalNodeState != swarm.LocalNodeStateError {
|
|
| 107 | 107 |
fmt.Fprintf(dockerCli.Out(), " ClusterID: %s\n", info.Swarm.Cluster.ID) |
| 108 | 108 |
fmt.Fprintf(dockerCli.Out(), " Managers: %d\n", info.Swarm.Managers) |
| 109 | 109 |
fmt.Fprintf(dockerCli.Out(), " Nodes: %d\n", info.Swarm.Nodes) |
| ... | ... |
@@ -750,7 +750,9 @@ func (c *Cluster) Info() types.Info {
|
| 750 | 750 |
// Strip JoinTokens |
| 751 | 751 |
info.Cluster = swarm.ClusterInfo |
| 752 | 752 |
|
| 753 |
- if r, err := state.controlClient.ListNodes(ctx, &swarmapi.ListNodesRequest{}); err == nil {
|
|
| 753 |
+ if r, err := state.controlClient.ListNodes(ctx, &swarmapi.ListNodesRequest{}); err != nil {
|
|
| 754 |
+ info.Error = err.Error() |
|
| 755 |
+ } else {
|
|
| 754 | 756 |
info.Nodes = len(r.Nodes) |
| 755 | 757 |
for _, n := range r.Nodes {
|
| 756 | 758 |
if n.ManagerStatus != nil {
|