From 2ad2bc6844318034dd3296a0b0d5a7ce97e51962 Mon Sep 17 00:00:00 2001 From: kabab Date: Sat, 24 Jul 2021 22:56:36 +0200 Subject: [PATCH] kubectl: Add labels to ingress describe --- .../k8s.io/kubectl/pkg/describe/describe.go | 2 ++ .../kubectl/pkg/describe/describe_test.go | 28 +++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe.go b/staging/src/k8s.io/kubectl/pkg/describe/describe.go index 94c7ddd9daa..038a7d37b82 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe.go @@ -2605,6 +2605,7 @@ func (i *IngressDescriber) describeIngressV1(ing *networkingv1.Ingress, events * return tabbedString(func(out io.Writer) error { w := NewPrefixWriter(out) w.Write(LEVEL_0, "Name:\t%v\n", ing.Name) + printLabelsMultiline(w, "Labels", ing.Labels) w.Write(LEVEL_0, "Namespace:\t%v\n", ing.Namespace) w.Write(LEVEL_0, "Address:\t%v\n", loadBalancerStatusStringer(ing.Status.LoadBalancer, true)) def := ing.Spec.DefaultBackend @@ -2660,6 +2661,7 @@ func (i *IngressDescriber) describeIngressV1beta1(ing *networkingv1beta1.Ingress return tabbedString(func(out io.Writer) error { w := NewPrefixWriter(out) w.Write(LEVEL_0, "Name:\t%v\n", ing.Name) + printLabelsMultiline(w, "Labels", ing.Labels) w.Write(LEVEL_0, "Namespace:\t%v\n", ing.Namespace) w.Write(LEVEL_0, "Address:\t%v\n", loadBalancerStatusStringer(ing.Status.LoadBalancer, true)) def := ing.Spec.Backend diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go b/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go index c990cc96ee9..468bdc5128c 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go @@ -2162,7 +2162,11 @@ func TestDescribeIngress(t *testing.T) { } v1beta1 := fake.NewSimpleClientset(&networkingv1beta1.Ingress{ ObjectMeta: metav1.ObjectMeta{ - Name: "bar", + Name: "bar", + Labels: map[string]string{ + "id1": "app1", + "id2": "app2", + }, Namespace: "foo", }, Spec: networkingv1beta1.IngressSpec{ @@ -2237,6 +2241,8 @@ func TestDescribeIngress(t *testing.T) { "IngressRule.HTTP.Paths.Backend.Service v1beta1": { input: v1beta1, output: `Name: bar +Labels: id1=app1 + id2=app2 Namespace: foo Address: Default backend: default-http-backend:80 () @@ -2251,6 +2257,7 @@ Events: ` + "\n", "IngressRule.HTTP.Paths.Backend.Service v1": { input: netv1, output: `Name: bar +Labels: Namespace: foo Address: Default backend: default-http-backend:80 () @@ -2287,6 +2294,7 @@ Events: ` + "\n", }, }), output: `Name: bar +Labels: Namespace: foo Address: Default backend: default-http-backend:80 () @@ -2323,6 +2331,7 @@ Events: ` + "\n", }, }), output: `Name: bar +Labels: Namespace: foo Address: Default backend: default-http-backend:80 () @@ -2360,6 +2369,7 @@ Events: ` + "\n", }, }), output: `Name: bar +Labels: Namespace: foo Address: Default backend: default-backend:80 () @@ -2397,6 +2407,7 @@ Events: ` + "\n", }, }), output: `Name: bar +Labels: Namespace: foo Address: Default backend: APIGroup: example.com, Kind: foo, Name: bar @@ -2434,6 +2445,7 @@ Events: ` + "\n", }, }), output: `Name: bar +Labels: Namespace: foo Address: Default backend: APIGroup: example.com, Kind: foo, Name: bar @@ -2456,6 +2468,7 @@ Events: ` + "\n", }, }), output: `Name: bar +Labels: Namespace: foo Address: Default backend: default-backend:80 () @@ -2498,7 +2511,11 @@ func TestDescribeIngressV1(t *testing.T) { fakeClient := fake.NewSimpleClientset(&networkingv1.Ingress{ ObjectMeta: metav1.ObjectMeta{ - Name: "bar", + Name: "bar", + Labels: map[string]string{ + "id1": "app1", + "id2": "app2", + }, Namespace: "foo", }, Spec: networkingv1.IngressSpec{ @@ -2524,7 +2541,12 @@ func TestDescribeIngressV1(t *testing.T) { if err != nil { t.Errorf("unexpected error: %v", err) } - if !strings.Contains(out, "bar") || !strings.Contains(out, "foo") || !strings.Contains(out, "foo.bar.com") || !strings.Contains(out, "/foo") { + if !strings.Contains(out, "bar") || + !strings.Contains(out, "foo") || + !strings.Contains(out, "foo.bar.com") || + !strings.Contains(out, "/foo") || + !strings.Contains(out, "app1") || + !strings.Contains(out, "app2") { t.Errorf("unexpected out: %s", out) } }