clusterList: include node state
This commit is contained in:
parent
1285fb90c4
commit
cc3fe46a23
@ -116,14 +116,14 @@ func PrintClusters(clusters []*k3d.Cluster, flags clusterFlags) {
|
|||||||
k3cluster.SortClusters(clusters)
|
k3cluster.SortClusters(clusters)
|
||||||
|
|
||||||
for _, cluster := range clusters {
|
for _, cluster := range clusters {
|
||||||
serverCount := cluster.ServerCount()
|
serverCount, serversRunning := cluster.ServerCountRunning()
|
||||||
agentCount := cluster.AgentCount()
|
agentCount, agentsRunning := cluster.AgentCountRunning()
|
||||||
hasLB := cluster.HasLoadBalancer()
|
hasLB := cluster.HasLoadBalancer()
|
||||||
|
|
||||||
if flags.token {
|
if flags.token {
|
||||||
fmt.Fprintf(tabwriter, "%s\t%d\t%d\t%t\t%s\n", cluster.Name, serverCount, agentCount, hasLB, cluster.Token)
|
fmt.Fprintf(tabwriter, "%s\t%d/%d\t%d/%d\t%t\t%s\n", cluster.Name, serversRunning, serverCount, agentsRunning, agentCount, hasLB, cluster.Token)
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprintf(tabwriter, "%s\t%d\t%d\t%t\n", cluster.Name, serverCount, agentCount, hasLB)
|
fmt.Fprintf(tabwriter, "%s\t%d/%d\t%d/%d\t%t\n", cluster.Name, serversRunning, serverCount, agentsRunning, agentCount, hasLB)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,26 +181,34 @@ type Cluster struct {
|
|||||||
ImageVolume string `yaml:"image_volume" json:"imageVolume,omitempty"`
|
ImageVolume string `yaml:"image_volume" json:"imageVolume,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ServerCount return number of server node into cluster
|
// ServerCountRunning returns the number of server nodes running in the cluster and the total number
|
||||||
func (c *Cluster) ServerCount() int {
|
func (c *Cluster) ServerCountRunning() (int, int) {
|
||||||
serverCount := 0
|
serverCount := 0
|
||||||
|
serversRunning := 0
|
||||||
for _, node := range c.Nodes {
|
for _, node := range c.Nodes {
|
||||||
if node.Role == ServerRole {
|
if node.Role == ServerRole {
|
||||||
serverCount++
|
serverCount++
|
||||||
|
if node.State.Running {
|
||||||
|
serversRunning++
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return serverCount
|
return serverCount, serversRunning
|
||||||
}
|
}
|
||||||
|
|
||||||
// AgentCount return number of agent node into cluster
|
// AgentCountRunning returns the number of agent nodes running in the cluster and the total number
|
||||||
func (c *Cluster) AgentCount() int {
|
func (c *Cluster) AgentCountRunning() (int, int) {
|
||||||
agentCount := 0
|
agentCount := 0
|
||||||
|
agentsRunning := 0
|
||||||
for _, node := range c.Nodes {
|
for _, node := range c.Nodes {
|
||||||
if node.Role == AgentRole {
|
if node.Role == AgentRole {
|
||||||
agentCount++
|
agentCount++
|
||||||
|
if node.State.Running {
|
||||||
|
agentsRunning++
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return agentCount
|
return agentCount, agentsRunning
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasLoadBalancer returns true if cluster has a loadbalancer node
|
// HasLoadBalancer returns true if cluster has a loadbalancer node
|
||||||
|
Loading…
Reference in New Issue
Block a user