clusterList: include node state

pull/328/head
iwilltry42 4 years ago
parent 1285fb90c4
commit cc3fe46a23
No known key found for this signature in database
GPG Key ID: 7BA57AD1CFF16110
  1. 8
      cmd/cluster/clusterList.go
  2. 20
      pkg/types/types.go

@ -116,14 +116,14 @@ func PrintClusters(clusters []*k3d.Cluster, flags clusterFlags) {
k3cluster.SortClusters(clusters)
for _, cluster := range clusters {
serverCount := cluster.ServerCount()
agentCount := cluster.AgentCount()
serverCount, serversRunning := cluster.ServerCountRunning()
agentCount, agentsRunning := cluster.AgentCountRunning()
hasLB := cluster.HasLoadBalancer()
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 {
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"`
}
// ServerCount return number of server node into cluster
func (c *Cluster) ServerCount() int {
// ServerCountRunning returns the number of server nodes running in the cluster and the total number
func (c *Cluster) ServerCountRunning() (int, int) {
serverCount := 0
serversRunning := 0
for _, node := range c.Nodes {
if node.Role == ServerRole {
serverCount++
if node.State.Running {
serversRunning++
}
}
}
return serverCount
return serverCount, serversRunning
}
// AgentCount return number of agent node into cluster
func (c *Cluster) AgentCount() int {
// AgentCountRunning returns the number of agent nodes running in the cluster and the total number
func (c *Cluster) AgentCountRunning() (int, int) {
agentCount := 0
agentsRunning := 0
for _, node := range c.Nodes {
if node.Role == AgentRole {
agentCount++
if node.State.Running {
agentsRunning++
}
}
}
return agentCount
return agentCount, agentsRunning
}
// HasLoadBalancer returns true if cluster has a loadbalancer node

Loading…
Cancel
Save