Add the Nomad agent version to the node-status CLI putput.

This commit is contained in:
“James
2017-08-10 08:27:26 +01:00
parent 02808f9568
commit 113e9b0c33
4 changed files with 17 additions and 7 deletions

View File

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

View File

@@ -292,6 +292,7 @@ func (a *Agent) clientConfig() (*clientconfig.Config, error) {
conf.Node.Name = a.config.NodeName
conf.Node.Meta = a.config.Client.Meta
conf.Node.NodeClass = a.config.Client.NodeClass
conf.Node.Build = fmt.Sprintf("%s%s", a.config.Version, a.config.VersionPrerelease)
// Set up the HTTP advertise address
conf.Node.HTTPAddr = a.config.AdvertiseAddrs.HTTP

View File

@@ -57,7 +57,7 @@ Node Status Options:
-self
Query the status of the local node.
-stats
-stats
Display detailed resource usage statistics.
-allocs
@@ -149,9 +149,9 @@ func (c *NodeStatusCommand) Run(args []string) int {
// Format the nodes list
out := make([]string, len(nodes)+1)
if c.list_allocs {
out[0] = "ID|DC|Name|Class|Drain|Status|Running Allocs"
out[0] = "ID|DC|Name|Class|Build|Drain|Status|Running Allocs"
} else {
out[0] = "ID|DC|Name|Class|Drain|Status"
out[0] = "ID|DC|Name|Class|Build|Drain|Status"
}
for i, node := range nodes {
@@ -161,20 +161,22 @@ func (c *NodeStatusCommand) Run(args []string) int {
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",
out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%s|%v|%s|%v",
limit(node.ID, c.length),
node.Datacenter,
node.Name,
node.NodeClass,
node.Build,
node.Drain,
node.Status,
len(numAllocs))
} else {
out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%v|%s",
out[i+1] = fmt.Sprintf("%s|%s|%s|%s|%s|%v|%s",
limit(node.ID, c.length),
node.Datacenter,
node.Name,
node.NodeClass,
node.Build,
node.Drain,
node.Status)
}
@@ -220,13 +222,14 @@ 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|Build|Drain|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|%s|%v|%s",
limit(node.ID, c.length),
node.Datacenter,
node.Name,
node.NodeClass,
node.Build,
node.Drain,
node.Status)
}

View File

@@ -996,6 +996,9 @@ type Node struct {
// together for the purpose of determining scheduling pressure.
NodeClass string
// Build represents the Nomad version the node is running
Build string
// ComputedClass is a unique id that identifies nodes with a common set of
// attributes and capabilities.
ComputedClass string
@@ -1057,6 +1060,7 @@ func (n *Node) Stub() *NodeListStub {
Datacenter: n.Datacenter,
Name: n.Name,
NodeClass: n.NodeClass,
Build: n.Build,
Drain: n.Drain,
Status: n.Status,
StatusDescription: n.StatusDescription,
@@ -1072,6 +1076,7 @@ type NodeListStub struct {
Datacenter string
Name string
NodeClass string
Build string
Drain bool
Status string
StatusDescription string