Merge pull request #3002 from jrasell/gh_2993

Add the Nomad agent version to the node-status CLI output.
This commit is contained in:
Alex Dadgar 2017-08-22 10:43:25 -07:00 committed by GitHub
commit 422332c8bf
3 changed files with 27 additions and 19 deletions

View File

@ -169,6 +169,7 @@ type NodeListStub struct {
Datacenter string
Name string
NodeClass string
Version string
Drain bool
Status string
StatusDescription string

View File

@ -59,7 +59,7 @@ Node Status Options:
-self
Query the status of the local node.
-stats
-stats
Display detailed resource usage statistics.
-allocs
@ -150,35 +150,40 @@ func (c *NodeStatusCommand) Run(args []string) int {
// Format the nodes list
out := make([]string, len(nodes)+1)
out[0] = "ID|DC|Name|Class|"
if c.verbose {
out[0] += "Version|"
}
out[0] += "Drain|Status"
if c.list_allocs {
out[0] = "ID|DC|Name|Class|Drain|Status|Running Allocs"
} else {
out[0] = "ID|DC|Name|Class|Drain|Status"
out[0] += "|Running Allocs"
}
for i, node := range nodes {
out[i+1] = fmt.Sprintf("%s|%s|%s|%s",
limit(node.ID, c.length),
node.Datacenter,
node.Name,
node.NodeClass)
if c.verbose {
out[i+1] += fmt.Sprintf("|%s",
node.Version)
}
out[i+1] += fmt.Sprintf("|%v|%s",
node.Drain,
node.Status)
if c.list_allocs {
numAllocs, err := getRunningAllocs(client, node.ID)
if err != nil {
c.Ui.Error(fmt.Sprintf("Error querying node allocations: %s", err))
return 1
}
out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%v|%s|%v",
limit(node.ID, c.length),
node.Datacenter,
node.Name,
node.NodeClass,
node.Drain,
node.Status,
out[i+1] += fmt.Sprintf("|%v",
len(numAllocs))
} else {
out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%v|%s",
limit(node.ID, c.length),
node.Datacenter,
node.Name,
node.NodeClass,
node.Drain,
node.Status)
}
}

View File

@ -1070,6 +1070,7 @@ func (n *Node) Stub() *NodeListStub {
Datacenter: n.Datacenter,
Name: n.Name,
NodeClass: n.NodeClass,
Version: n.Attributes["nomad.version"],
Drain: n.Drain,
Status: n.Status,
StatusDescription: n.StatusDescription,
@ -1085,6 +1086,7 @@ type NodeListStub struct {
Datacenter string
Name string
NodeClass string
Version string
Drain bool
Status string
StatusDescription string