diff --git a/api/nodes.go b/api/nodes.go index 94fc206ce..37adb8fc3 100644 --- a/api/nodes.go +++ b/api/nodes.go @@ -241,17 +241,18 @@ type HostDiskStats struct { // NodeListStub is a subset of information returned during // node list operations. type NodeListStub struct { - Address string - ID string - Datacenter string - Name string - NodeClass string - Version string - Drain bool - Status string - StatusDescription string - CreateIndex uint64 - ModifyIndex uint64 + Address string + ID string + Datacenter string + Name string + NodeClass string + Version string + Drain bool + SchedulingEligibility string + Status string + StatusDescription string + CreateIndex uint64 + ModifyIndex uint64 } // NodeIndexSort reverse sorts nodes by CreateIndex diff --git a/command/node_status.go b/command/node_status.go index b347b6b78..c59b8d7e6 100644 --- a/command/node_status.go +++ b/command/node_status.go @@ -183,7 +183,7 @@ func (c *NodeStatusCommand) Run(args []string) int { out[0] += "Address|Version|" } - out[0] += "Drain|Status" + out[0] += "Drain|Eligibility|Status" if c.list_allocs { out[0] += "|Running Allocs" @@ -199,9 +199,11 @@ func (c *NodeStatusCommand) Run(args []string) int { out[i+1] += fmt.Sprintf("|%s|%s", node.Address, node.Version) } - out[i+1] += fmt.Sprintf("|%v|%s", + out[i+1] += fmt.Sprintf("|%v|%s|%s", node.Drain, + node.SchedulingEligibility, node.Status) + if c.list_allocs { numAllocs, err := getRunningAllocs(client, node.ID) if err != nil { @@ -249,14 +251,15 @@ func (c *NodeStatusCommand) Run(args []string) int { // Format the nodes list that matches the prefix so that the user // can create a more specific request out := make([]string, len(nodes)+1) - out[0] = "ID|DC|Name|Class|Drain|Status" + out[0] = "ID|DC|Name|Class|Drain|Eligibility|Status" for i, node := range nodes { - out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%v|%s", + out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%v|%s|%s", limit(node.ID, c.length), node.Datacenter, node.Name, node.NodeClass, node.Drain, + node.SchedulingEligibility, node.Status) } // Dump the output @@ -313,6 +316,7 @@ func (c *NodeStatusCommand) formatNode(client *api.Client, node *api.Node) int { fmt.Sprintf("Class|%s", node.NodeClass), fmt.Sprintf("DC|%s", node.Datacenter), fmt.Sprintf("Drain|%v", node.Drain), + fmt.Sprintf("Eligibility|%s", node.SchedulingEligibility), fmt.Sprintf("Status|%s", node.Status), fmt.Sprintf("Drivers|%s", strings.Join(nodeDrivers(node), ",")), }