mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 18:35:44 +03:00
node_status: Add CSI Summary info
This commit introduces two new fields to the basic output of `nomad node status <node-id>`. 1) "CSI Controllers", which displays the names of registered controller plugins. 2) "CSI Drivers", which displays the names of registered CSI Node plugins. However, it does not implement support for verbose output, such as including health status or other fingerprinted data.
This commit is contained in:
committed by
Tim Gross
parent
603a0099b3
commit
d153561b13
@@ -299,6 +299,24 @@ func nodeDrivers(n *api.Node) []string {
|
||||
return drivers
|
||||
}
|
||||
|
||||
func nodeCSIControllerNames(n *api.Node) []string {
|
||||
var names []string
|
||||
for name := range n.CSIControllerPlugins {
|
||||
names = append(names, name)
|
||||
}
|
||||
sort.Strings(names)
|
||||
return names
|
||||
}
|
||||
|
||||
func nodeCSINodeNames(n *api.Node) []string {
|
||||
var names []string
|
||||
for name := range n.CSINodePlugins {
|
||||
names = append(names, name)
|
||||
}
|
||||
sort.Strings(names)
|
||||
return names
|
||||
}
|
||||
|
||||
func nodeVolumeNames(n *api.Node) []string {
|
||||
var volumes []string
|
||||
for name := range n.HostVolumes {
|
||||
@@ -340,6 +358,8 @@ func (c *NodeStatusCommand) formatNode(client *api.Client, node *api.Node) int {
|
||||
fmt.Sprintf("Drain|%v", formatDrain(node)),
|
||||
fmt.Sprintf("Eligibility|%s", node.SchedulingEligibility),
|
||||
fmt.Sprintf("Status|%s", node.Status),
|
||||
fmt.Sprintf("CSI Controllers|%s", strings.Join(nodeCSIControllerNames(node), ",")),
|
||||
fmt.Sprintf("CSI Drivers|%s", strings.Join(nodeCSINodeNames(node), ",")),
|
||||
}
|
||||
|
||||
if c.short {
|
||||
|
||||
Reference in New Issue
Block a user