From 5a3ba07822f60322953d5a2fdf571cc012deffb8 Mon Sep 17 00:00:00 2001 From: John Howard Date: Tue, 22 Sep 2020 13:29:11 -0700 Subject: [PATCH] Fix `kubectl describe ingress` format Fixes https://github.com/kubernetes/kubernetes/issues/94980 Fixes two formatting issues: * Un-opened parenthesis (`10.244.0.6:8080)`) * Bad format string and spacing Before this PR: ``` Name: example-ingress Namespace: default Address: Default backend: istio-ingressgateway:80 () Rules: Host Path Backends ---- ---- -------- * * %!(EXTRA string=istio-ingressgateway:80 ())Annotations: Events: ``` After this PR: ``` Name: example-ingress Namespace: default Address: Default backend: istio-ingressgateway:80 () Rules: Host Path Backends ---- ---- -------- * * istio-ingressgateway:80 () Annotations: Events: ``` Compare to an old kubectl without the bug: ``` Name: example-ingress Namespace: default Address: Default backend: istio-ingressgateway:80 () Rules: Host Path Backends ---- ---- -------- * * istio-ingressgateway:80 () Annotations: kubectl.kubernetes.io/last-applied-configuration: ... Events: ``` Kubernetes-commit: 9a0b9138aff179e601f854c70271a50842742b12 --- pkg/describe/describe.go | 4 ++-- pkg/describe/describe_test.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/pkg/describe/describe.go b/pkg/describe/describe.go index 2adf30c5..a3c52607 100644 --- a/pkg/describe/describe.go +++ b/pkg/describe/describe.go @@ -2465,7 +2465,7 @@ func (i *IngressDescriber) describeBackendV1(ns string, backend *networkingv1.In } } ep := formatEndpoints(endpoints, sets.NewString(spName)) - return fmt.Sprintf("%s\t %s)", sb, ep) + return fmt.Sprintf("%s (%s)", sb, ep) } if backend.Resource != nil { ic := backend.Resource @@ -2518,7 +2518,7 @@ func (i *IngressDescriber) describeIngressV1(ing *networkingv1.Ingress, events * } } if count == 0 { - w.Write(LEVEL_1, "\t%s %s\n", "*", "*", i.describeBackendV1(ns, def)) + w.Write(LEVEL_1, "%s\t%s\t%s\n", "*", "*", i.describeBackendV1(ns, def)) } printAnnotationsMultiline(w, "Annotations", ing.Annotations) diff --git a/pkg/describe/describe_test.go b/pkg/describe/describe_test.go index d5e75454..5a882e37 100644 --- a/pkg/describe/describe_test.go +++ b/pkg/describe/describe_test.go @@ -1924,6 +1924,28 @@ Rules: Annotations: Events: ` + "\n", }, + "DefaultBackend": { + input: fake.NewSimpleClientset(&networkingv1.Ingress{ + ObjectMeta: metav1.ObjectMeta{ + Name: "bar", + Namespace: "foo", + }, + Spec: networkingv1.IngressSpec{ + DefaultBackend: &backendV1, + }, + }), + output: `Name: bar +Namespace: foo +Address: +Default backend: default-backend:80 () +Rules: + Host Path Backends + ---- ---- -------- + * * default-backend:80 () +Annotations: +Events: +`, + }, } for name, test := range tests {