From 68ca59c41ea1152b43810e6838ff294d3608587f Mon Sep 17 00:00:00 2001 From: vicentepinto98 Date: Tue, 30 Apr 2024 08:53:46 +0100 Subject: [PATCH 1/5] Fixes to lb list and describe --- internal/cmd/load-balancer/describe/describe.go | 16 +++++++++++----- internal/cmd/load-balancer/list/list.go | 5 +++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/internal/cmd/load-balancer/describe/describe.go b/internal/cmd/load-balancer/describe/describe.go index bfcb1ef6c..a7fe7d81b 100644 --- a/internal/cmd/load-balancer/describe/describe.go +++ b/internal/cmd/load-balancer/describe/describe.go @@ -160,8 +160,8 @@ func renderListeners(listeners []loadbalancer.Listener) string { for i := range listeners { listener := listeners[i] table.AddRow(*listener.Name, *listener.Port, *listener.Protocol, *listener.TargetPool) + table.AddSeparator() } - return table.Render() } @@ -184,13 +184,19 @@ func renderTargetPools(targetPools []loadbalancer.TargetPool) string { healthCheckUnhealthyThreshold := "-" healthCheckHealthyThreshold := "-" if targetPool.ActiveHealthCheck != nil { - healthCheckInterval = *targetPool.ActiveHealthCheck.Interval - healthCheckUnhealthyThreshold = strconv.FormatInt(*targetPool.ActiveHealthCheck.UnhealthyThreshold, 10) - healthCheckHealthyThreshold = strconv.FormatInt(*targetPool.ActiveHealthCheck.HealthyThreshold, 10) + if targetPool.ActiveHealthCheck.Interval != nil { + healthCheckInterval = *targetPool.ActiveHealthCheck.Interval + } + if targetPool.ActiveHealthCheck.UnhealthyThreshold != nil { + healthCheckUnhealthyThreshold = strconv.FormatInt(*targetPool.ActiveHealthCheck.UnhealthyThreshold, 10) + } + if targetPool.ActiveHealthCheck.HealthyThreshold != nil { + healthCheckHealthyThreshold = strconv.FormatInt(*targetPool.ActiveHealthCheck.HealthyThreshold, 10) + } } table.AddRow(*targetPool.Name, *targetPool.TargetPort, targets, sessionPersistence, healthCheckInterval, healthCheckUnhealthyThreshold, healthCheckHealthyThreshold) + table.AddSeparator() } - return table.Render() } diff --git a/internal/cmd/load-balancer/list/list.go b/internal/cmd/load-balancer/list/list.go index 49ab44e4a..05da661cb 100644 --- a/internal/cmd/load-balancer/list/list.go +++ b/internal/cmd/load-balancer/list/list.go @@ -64,8 +64,8 @@ func NewCmd(p *print.Printer) *cobra.Command { if err != nil { return fmt.Errorf("get load balancers: %w", err) } - loadBalancers := *resp.LoadBalancers - if len(loadBalancers) == 0 { + + if resp.LoadBalancers == nil || (resp.LoadBalancers != nil && len(*resp.LoadBalancers) == 0) { projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { p.Debug(print.ErrorLevel, "get project name: %v", err) @@ -75,6 +75,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return nil } + loadBalancers := *resp.LoadBalancers // Truncate output if model.Limit != nil && len(loadBalancers) > int(*model.Limit) { loadBalancers = loadBalancers[:*model.Limit] From baa9ab413a94894b52be9e6797fab667b173e7ce Mon Sep 17 00:00:00 2001 From: vicentepinto98 Date: Tue, 30 Apr 2024 08:56:52 +0100 Subject: [PATCH 2/5] Add separator --- internal/cmd/load-balancer/list/list.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/cmd/load-balancer/list/list.go b/internal/cmd/load-balancer/list/list.go index 05da661cb..9b1c7b503 100644 --- a/internal/cmd/load-balancer/list/list.go +++ b/internal/cmd/load-balancer/list/list.go @@ -134,6 +134,7 @@ func outputResult(p *print.Printer, outputFormat string, loadBalancers []loadbal for i := range loadBalancers { l := loadBalancers[i] table.AddRow(*l.Name, *l.Status, *l.ExternalAddress, len(*l.Listeners), len(*l.TargetPools)) + table.AddSeparator() } err := table.Display(p) if err != nil { From f64e86015b85c7f84c59553143c84ae3263676ad Mon Sep 17 00:00:00 2001 From: vicentepinto98 Date: Tue, 30 Apr 2024 09:43:18 +0100 Subject: [PATCH 3/5] Remove columns --- .../cmd/load-balancer/describe/describe.go | 32 ++----------------- 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/internal/cmd/load-balancer/describe/describe.go b/internal/cmd/load-balancer/describe/describe.go index a7fe7d81b..1e2bad9aa 100644 --- a/internal/cmd/load-balancer/describe/describe.go +++ b/internal/cmd/load-balancer/describe/describe.go @@ -4,8 +4,6 @@ import ( "context" "encoding/json" "fmt" - "strconv" - "strings" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/errors" @@ -167,35 +165,9 @@ func renderListeners(listeners []loadbalancer.Listener) string { func renderTargetPools(targetPools []loadbalancer.TargetPool) string { table := tables.NewTable() - table.SetHeader("TARGET POOL NAME", "PORT", "TARGETS", "SESSION PERSISTENCE", "HEALTH CHECK INTERVAL (S)", "DOWN AFTER (CHECKS)", "UP AFTER (CHECKS)") + table.SetHeader("TARGET POOL NAME", "PORT", "TARGETS") for _, targetPool := range targetPools { - var targetsArray []string - for _, t := range *targetPool.Targets { - targetsArray = append(targetsArray, fmt.Sprintf("%s (%s)", *t.DisplayName, *t.Ip)) - } - targets := strings.Join(targetsArray, "\n") - - sessionPersistence := "None" - if targetPool.SessionPersistence != nil && targetPool.SessionPersistence.UseSourceIpAddress != nil && *targetPool.SessionPersistence.UseSourceIpAddress { - sessionPersistence = "Use Source IP" - } - - healthCheckInterval := "-" - healthCheckUnhealthyThreshold := "-" - healthCheckHealthyThreshold := "-" - if targetPool.ActiveHealthCheck != nil { - if targetPool.ActiveHealthCheck.Interval != nil { - healthCheckInterval = *targetPool.ActiveHealthCheck.Interval - } - if targetPool.ActiveHealthCheck.UnhealthyThreshold != nil { - healthCheckUnhealthyThreshold = strconv.FormatInt(*targetPool.ActiveHealthCheck.UnhealthyThreshold, 10) - } - if targetPool.ActiveHealthCheck.HealthyThreshold != nil { - healthCheckHealthyThreshold = strconv.FormatInt(*targetPool.ActiveHealthCheck.HealthyThreshold, 10) - } - } - - table.AddRow(*targetPool.Name, *targetPool.TargetPort, targets, sessionPersistence, healthCheckInterval, healthCheckUnhealthyThreshold, healthCheckHealthyThreshold) + table.AddRow(*targetPool.Name, *targetPool.TargetPort, len(*targetPool.Targets)) table.AddSeparator() } return table.Render() From 2b8c6a2ec3ced6d7fbc78e767b8290713b0c15d5 Mon Sep 17 00:00:00 2001 From: vicentepinto98 Date: Tue, 30 Apr 2024 11:04:21 +0100 Subject: [PATCH 4/5] Remove separators --- internal/cmd/load-balancer/describe/describe.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/internal/cmd/load-balancer/describe/describe.go b/internal/cmd/load-balancer/describe/describe.go index 1e2bad9aa..e2fac07f4 100644 --- a/internal/cmd/load-balancer/describe/describe.go +++ b/internal/cmd/load-balancer/describe/describe.go @@ -158,7 +158,6 @@ func renderListeners(listeners []loadbalancer.Listener) string { for i := range listeners { listener := listeners[i] table.AddRow(*listener.Name, *listener.Port, *listener.Protocol, *listener.TargetPool) - table.AddSeparator() } return table.Render() } @@ -168,7 +167,6 @@ func renderTargetPools(targetPools []loadbalancer.TargetPool) string { table.SetHeader("TARGET POOL NAME", "PORT", "TARGETS") for _, targetPool := range targetPools { table.AddRow(*targetPool.Name, *targetPool.TargetPort, len(*targetPool.Targets)) - table.AddSeparator() } return table.Render() } From 987407048b161102e793e551c0031557523aba06 Mon Sep 17 00:00:00 2001 From: vicentepinto98 Date: Tue, 30 Apr 2024 11:20:23 +0100 Subject: [PATCH 5/5] remove separator --- internal/cmd/load-balancer/list/list.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/cmd/load-balancer/list/list.go b/internal/cmd/load-balancer/list/list.go index 9b1c7b503..05da661cb 100644 --- a/internal/cmd/load-balancer/list/list.go +++ b/internal/cmd/load-balancer/list/list.go @@ -134,7 +134,6 @@ func outputResult(p *print.Printer, outputFormat string, loadBalancers []loadbal for i := range loadBalancers { l := loadBalancers[i] table.AddRow(*l.Name, *l.Status, *l.ExternalAddress, len(*l.Listeners), len(*l.TargetPools)) - table.AddSeparator() } err := table.Display(p) if err != nil {