Fix kubectl describe ingress when default backend is empty

Kubernetes-commit: 653edeb507c3caafd0e81f6cef0a44425ef8782c
This commit is contained in:
Wenqing Luo 2022-11-07 10:11:28 -06:00 committed by Kubernetes Publisher
parent 3814a9af80
commit 6a7dccd04b
2 changed files with 29 additions and 5 deletions

View File

@ -2653,11 +2653,11 @@ func (i *IngressDescriber) describeIngressV1(ing *networkingv1.Ingress, events *
w.Write(LEVEL_0, "Ingress Class:\t%v\n", ingressClassName)
def := ing.Spec.DefaultBackend
ns := ing.Namespace
if def == nil {
w.Write(LEVEL_0, "Default backend:\t<default>\n")
} else {
w.Write(LEVEL_0, "Default backend:\t%s\n", i.describeBackendV1(ns, def))
defaultBackendDescribe := "<default>"
if def != nil {
defaultBackendDescribe = i.describeBackendV1(ns, def)
}
w.Write(LEVEL_0, "Default backend:\t%s\n", defaultBackendDescribe)
if len(ing.Spec.TLS) != 0 {
describeIngressTLSV1(w, ing.Spec.TLS)
}
@ -2680,7 +2680,7 @@ func (i *IngressDescriber) describeIngressV1(ing *networkingv1.Ingress, events *
}
}
if count == 0 {
w.Write(LEVEL_1, "%s\t%s\t%s\n", "*", "*", i.describeBackendV1(ns, def))
w.Write(LEVEL_1, "%s\t%s\t%s\n", "*", "*", defaultBackendDescribe)
}
printAnnotationsMultiline(w, "Annotations", ing.Annotations)

View File

@ -2800,6 +2800,30 @@ Rules:
* * default-backend:80 (<error: endpoints "default-backend" not found>)
Annotations: <none>
Events: <none>
`,
},
"EmptyBackend": {
input: fake.NewSimpleClientset(&networkingv1.Ingress{
ObjectMeta: metav1.ObjectMeta{
Name: "bar",
Namespace: "foo",
},
Spec: networkingv1.IngressSpec{
IngressClassName: &ingresClassName,
},
}),
output: `Name: bar
Labels: <none>
Namespace: foo
Address:
Ingress Class: test
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
* * <default>
Annotations: <none>
Events: <none>
`,
},
"EmptyIngressClassName": {