From d3b49ac81325e7d08b1506899eac8ef23edc1355 Mon Sep 17 00:00:00 2001 From: Adam Sranko Date: Mon, 22 Jan 2024 02:46:17 +0100 Subject: [PATCH 1/2] Added valid column to workloads for toast filtering --- internal/dao/workload.go | 16 +++++++++++++--- internal/render/workload.go | 2 ++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/internal/dao/workload.go b/internal/dao/workload.go index ae9693b831..213e0ac1e9 100644 --- a/internal/dao/workload.go +++ b/internal/dao/workload.go @@ -126,9 +126,10 @@ func (a *Workload) List(ctx context.Context, ns string) ([]runtime.Object, error gvr.String(), ns, r.Cells[indexOf("Name", table.ColumnDefinitions)], - diagnose(gvr, r, table.ColumnDefinitions), status(gvr, r, table.ColumnDefinitions), + readiness(gvr, r, table.ColumnDefinitions), ts, + validity(gvr, r, table.ColumnDefinitions), }}}) } } @@ -138,7 +139,7 @@ func (a *Workload) List(ctx context.Context, ns string) ([]runtime.Object, error // Helpers... -func status(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) string { +func readiness(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) string { switch gvr { case PodGVR, DpGVR, StsGVR: return r.Cells[indexOf("Ready", h)].(string) @@ -153,7 +154,7 @@ func status(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) return render.NAValue } -func diagnose(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) string { +func status(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) string { switch gvr { case PodGVR: if !isReady(r.Cells[indexOf("Ready", h)].(string)) || r.Cells[indexOf("Status", h)] != render.PhaseRunning { @@ -187,6 +188,15 @@ func diagnose(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinitio return StatusOK } +func validity(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) string { + stat := status(gvr, r, h) + if stat != "DEGRADED" { + return "" + } + + return stat +} + func isReady(s string) bool { tt := strings.Split(s, "/") if len(tt) != 2 { diff --git a/internal/render/workload.go b/internal/render/workload.go index 058cfd4078..b45259c3c5 100644 --- a/internal/render/workload.go +++ b/internal/render/workload.go @@ -45,6 +45,7 @@ func (Workload) Header(string) Header { HeaderColumn{Name: "STATUS"}, HeaderColumn{Name: "READY"}, HeaderColumn{Name: "AGE", Time: true}, + HeaderColumn{Name: "VALID", Wide: true}, } } @@ -63,6 +64,7 @@ func (n Workload) Render(o interface{}, _ string, r *Row) error { res.Row.Cells[3].(string), res.Row.Cells[4].(string), ToAge(res.Row.Cells[5].(metav1.Time)), + res.Row.Cells[6].(string), } return nil From 9813d1ebc5fa7703ef97c6960c2f43e67084dafe Mon Sep 17 00:00:00 2001 From: eiachh Date: Tue, 30 Jan 2024 23:41:48 +0000 Subject: [PATCH 2/2] Removed redundant status func call, changed workload header order --- internal/dao/workload.go | 12 ++++++------ internal/render/workload.go | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/dao/workload.go b/internal/dao/workload.go index 213e0ac1e9..72027605ce 100644 --- a/internal/dao/workload.go +++ b/internal/dao/workload.go @@ -122,14 +122,15 @@ func (a *Workload) List(ctx context.Context, ns string) ([]runtime.Object, error ts = m.CreationTimestamp } } + stat := status(gvr, r, table.ColumnDefinitions) oo = append(oo, &render.WorkloadRes{Row: metav1.TableRow{Cells: []interface{}{ gvr.String(), ns, r.Cells[indexOf("Name", table.ColumnDefinitions)], - status(gvr, r, table.ColumnDefinitions), + stat, readiness(gvr, r, table.ColumnDefinitions), + validity(stat), ts, - validity(gvr, r, table.ColumnDefinitions), }}}) } } @@ -188,13 +189,12 @@ func status(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) return StatusOK } -func validity(gvr client.GVR, r metav1.TableRow, h []metav1.TableColumnDefinition) string { - stat := status(gvr, r, h) - if stat != "DEGRADED" { +func validity(status string) string { + if status != "DEGRADED" { return "" } - return stat + return status } func isReady(s string) bool { diff --git a/internal/render/workload.go b/internal/render/workload.go index b45259c3c5..250c52ecff 100644 --- a/internal/render/workload.go +++ b/internal/render/workload.go @@ -44,8 +44,8 @@ func (Workload) Header(string) Header { HeaderColumn{Name: "NAME"}, HeaderColumn{Name: "STATUS"}, HeaderColumn{Name: "READY"}, - HeaderColumn{Name: "AGE", Time: true}, HeaderColumn{Name: "VALID", Wide: true}, + HeaderColumn{Name: "AGE", Time: true}, } } @@ -63,8 +63,8 @@ func (n Workload) Render(o interface{}, _ string, r *Row) error { res.Row.Cells[2].(string), res.Row.Cells[3].(string), res.Row.Cells[4].(string), - ToAge(res.Row.Cells[5].(metav1.Time)), - res.Row.Cells[6].(string), + res.Row.Cells[5].(string), + ToAge(res.Row.Cells[6].(metav1.Time)), } return nil