Pod view resembles more the output of kubectl get pods -o wide (#2125)

mine
Alexandru Placinta 2023-11-12 19:08:16 +01:00 committed by GitHub
parent a02f2c64a3
commit 344990e096
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 12 deletions

View File

@ -105,7 +105,7 @@ func TestTableHydrate(t *testing.T) {
assert.Nil(t, hydrate("blee", oo, rr, render.Pod{})) assert.Nil(t, hydrate("blee", oo, rr, render.Pod{}))
assert.Equal(t, 1, len(rr)) assert.Equal(t, 1, len(rr))
assert.Equal(t, 22, len(rr[0].Fields)) assert.Equal(t, 23, len(rr[0].Fields))
} }
func TestTableGenericHydrate(t *testing.T) { func TestTableGenericHydrate(t *testing.T) {

View File

@ -80,8 +80,12 @@ func (Pod) Header(ns string) Header {
HeaderColumn{Name: "NAME"}, HeaderColumn{Name: "NAME"},
HeaderColumn{Name: "PF"}, HeaderColumn{Name: "PF"},
HeaderColumn{Name: "READY"}, HeaderColumn{Name: "READY"},
HeaderColumn{Name: "RESTARTS", Align: tview.AlignRight},
HeaderColumn{Name: "STATUS"}, HeaderColumn{Name: "STATUS"},
HeaderColumn{Name: "RESTARTS", Align: tview.AlignRight},
HeaderColumn{Name: "IP"},
HeaderColumn{Name: "NODE"},
HeaderColumn{Name: "NOMINATED NODE", Wide: true},
HeaderColumn{Name: "READINESS GATES", Wide: true},
HeaderColumn{Name: "CPU", Align: tview.AlignRight, MX: true}, HeaderColumn{Name: "CPU", Align: tview.AlignRight, MX: true},
HeaderColumn{Name: "MEM", Align: tview.AlignRight, MX: true}, HeaderColumn{Name: "MEM", Align: tview.AlignRight, MX: true},
HeaderColumn{Name: "CPU/R:L", Align: tview.AlignRight, Wide: true}, HeaderColumn{Name: "CPU/R:L", Align: tview.AlignRight, Wide: true},
@ -90,13 +94,9 @@ func (Pod) Header(ns string) Header {
HeaderColumn{Name: "%CPU/L", Align: tview.AlignRight, MX: true}, HeaderColumn{Name: "%CPU/L", Align: tview.AlignRight, MX: true},
HeaderColumn{Name: "%MEM/R", Align: tview.AlignRight, MX: true}, HeaderColumn{Name: "%MEM/R", Align: tview.AlignRight, MX: true},
HeaderColumn{Name: "%MEM/L", Align: tview.AlignRight, MX: true}, HeaderColumn{Name: "%MEM/L", Align: tview.AlignRight, MX: true},
HeaderColumn{Name: "IP"},
HeaderColumn{Name: "NODE"},
HeaderColumn{Name: "QOS", Wide: true}, HeaderColumn{Name: "QOS", Wide: true},
HeaderColumn{Name: "LABELS", Wide: true}, HeaderColumn{Name: "LABELS", Wide: true},
HeaderColumn{Name: "VALID", Wide: true}, HeaderColumn{Name: "VALID", Wide: true},
HeaderColumn{Name: "NOMINATED NODE", Wide: true},
HeaderColumn{Name: "READINESS GATES", Wide: true},
HeaderColumn{Name: "AGE", Time: true}, HeaderColumn{Name: "AGE", Time: true},
} }
} }
@ -126,6 +126,11 @@ func (p Pod) Render(o interface{}, ns string, row *Row) error {
strconv.Itoa(cr) + "/" + strconv.Itoa(len(po.Spec.Containers)), strconv.Itoa(cr) + "/" + strconv.Itoa(len(po.Spec.Containers)),
strconv.Itoa(rc), strconv.Itoa(rc),
phase, phase,
strconv.Itoa(rc),
na(po.Status.PodIP),
na(po.Spec.NodeName),
asNominated(po.Status.NominatedNodeName),
asReadinessGate(po),
toMc(c.cpu), toMc(c.cpu),
toMi(c.mem), toMi(c.mem),
toMc(r.cpu) + ":" + toMc(r.lcpu), toMc(r.cpu) + ":" + toMc(r.lcpu),
@ -134,13 +139,9 @@ func (p Pod) Render(o interface{}, ns string, row *Row) error {
client.ToPercentageStr(c.cpu, r.lcpu), client.ToPercentageStr(c.cpu, r.lcpu),
client.ToPercentageStr(c.mem, r.mem), client.ToPercentageStr(c.mem, r.mem),
client.ToPercentageStr(c.mem, r.lmem), client.ToPercentageStr(c.mem, r.lmem),
na(po.Status.PodIP),
na(po.Spec.NodeName),
p.mapQOS(po.Status.QOSClass), p.mapQOS(po.Status.QOSClass),
mapToStr(po.Labels), mapToStr(po.Labels),
asStatus(p.diagnose(phase, cr, len(ss))), asStatus(p.diagnose(phase, cr, len(ss))),
asNominated(po.Status.NominatedNodeName),
asReadinessGate(po),
toAge(po.GetCreationTimestamp()), toAge(po.GetCreationTimestamp()),
} }

View File

@ -159,7 +159,7 @@ func TestPodRender(t *testing.T) {
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, "default/nginx", r.ID) assert.Equal(t, "default/nginx", r.ID)
e := render.Fields{"default", "nginx", "●", "1/1", "0", "Running", "100", "50", "100:0", "70:170", "100", "n/a", "71", "29", "172.17.0.6", "minikube", "BE"} e := render.Fields{"default", "nginx", "●", "1/1", "0", "Running", "0", "172.17.0.6", "minikube", "<none>", "<none>", "100", "50", "100:0", "70:170", "100", "n/a"}
assert.Equal(t, e, r.Fields[:17]) assert.Equal(t, e, r.Fields[:17])
} }
@ -190,7 +190,7 @@ func TestPodInitRender(t *testing.T) {
assert.Nil(t, err) assert.Nil(t, err)
assert.Equal(t, "default/nginx", r.ID) assert.Equal(t, "default/nginx", r.ID)
e := render.Fields{"default", "nginx", "●", "1/1", "0", "Init:0/1", "10", "10", "100:0", "70:170", "10", "n/a", "14", "5", "172.17.0.6", "minikube", "BE"} e := render.Fields{"default", "nginx", "●", "1/1", "0", "Init:0/1", "0", "172.17.0.6", "minikube", "<none>", "<none>", "10", "10", "100:0", "70:170", "10", "n/a"}
assert.Equal(t, e, r.Fields[:17]) assert.Equal(t, e, r.Fields[:17])
} }