From 0de0ccdd9c5eb0bce6719712adcc03261d148930 Mon Sep 17 00:00:00 2001 From: Konrad Kaim Date: Tue, 4 Nov 2025 16:53:26 +0000 Subject: [PATCH] remove deprecated IngressClass api from describe Kubernetes-commit: a9ff1b19c1896a456abca8088be73c7f2d37e65b --- pkg/describe/describe.go | 42 +++------------------- pkg/describe/describe_test.go | 68 +++++++++++------------------------ 2 files changed, 25 insertions(+), 85 deletions(-) diff --git a/pkg/describe/describe.go b/pkg/describe/describe.go index 587890e11..81dba2cf7 100644 --- a/pkg/describe/describe.go +++ b/pkg/describe/describe.go @@ -212,7 +212,6 @@ func describerMap(clientConfig *rest.Config) (map[schema.GroupKind]ResourceDescr {Group: autoscalingv2.GroupName, Kind: "HorizontalPodAutoscaler"}: &HorizontalPodAutoscalerDescriber{c}, {Group: extensionsv1beta1.GroupName, Kind: "Ingress"}: &IngressDescriber{c}, {Group: networkingv1beta1.GroupName, Kind: "Ingress"}: &IngressDescriber{c}, - {Group: networkingv1beta1.GroupName, Kind: "IngressClass"}: &IngressClassDescriber{c}, {Group: networkingv1.GroupName, Kind: "Ingress"}: &IngressDescriber{c}, {Group: networkingv1.GroupName, Kind: "IngressClass"}: &IngressClassDescriber{c}, {Group: networkingv1beta1.GroupName, Kind: "ServiceCIDR"}: &ServiceCIDRDescriber{c}, @@ -2820,45 +2819,14 @@ type IngressClassDescriber struct { func (i *IngressClassDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error) { var events *corev1.EventList - // try IngressClass/v1 first (v1.19) and fallback to IngressClass/v1beta if an err occurs netV1, err := i.client.NetworkingV1().IngressClasses().Get(context.TODO(), name, metav1.GetOptions{}) - if err == nil { - if describerSettings.ShowEvents { - events, _ = searchEvents(i.client.CoreV1(), netV1, describerSettings.ChunkSize) - } - return i.describeIngressClassV1(netV1, events) + if err != nil { + return "", err } - netV1beta1, err := i.client.NetworkingV1beta1().IngressClasses().Get(context.TODO(), name, metav1.GetOptions{}) - if err == nil { - if describerSettings.ShowEvents { - events, _ = searchEvents(i.client.CoreV1(), netV1beta1, describerSettings.ChunkSize) - } - return i.describeIngressClassV1beta1(netV1beta1, events) + if describerSettings.ShowEvents { + events, _ = searchEvents(i.client.CoreV1(), netV1, describerSettings.ChunkSize) } - return "", err -} - -func (i *IngressClassDescriber) describeIngressClassV1beta1(ic *networkingv1beta1.IngressClass, events *corev1.EventList) (string, error) { - return tabbedString(func(out io.Writer) error { - w := NewPrefixWriter(out) - w.Write(LEVEL_0, "Name:\t%s\n", ic.Name) - printLabelsMultiline(w, "Labels", ic.Labels) - printAnnotationsMultiline(w, "Annotations", ic.Annotations) - w.Write(LEVEL_0, "Controller:\t%v\n", ic.Spec.Controller) - - if ic.Spec.Parameters != nil { - w.Write(LEVEL_0, "Parameters:\n") - if ic.Spec.Parameters.APIGroup != nil { - w.Write(LEVEL_1, "APIGroup:\t%v\n", *ic.Spec.Parameters.APIGroup) - } - w.Write(LEVEL_1, "Kind:\t%v\n", ic.Spec.Parameters.Kind) - w.Write(LEVEL_1, "Name:\t%v\n", ic.Spec.Parameters.Name) - } - if events != nil { - DescribeEvents(events, w) - } - return nil - }) + return i.describeIngressClassV1(netV1, events) } func (i *IngressClassDescriber) describeIngressClassV1(ic *networkingv1.IngressClass, events *corev1.EventList) (string, error) { diff --git a/pkg/describe/describe_test.go b/pkg/describe/describe_test.go index fbee084d4..f69b94b0f 100644 --- a/pkg/describe/describe_test.go +++ b/pkg/describe/describe_test.go @@ -5470,57 +5470,29 @@ Parameters: Kind: ConfigMap Name: example-parameters` + "\n" - tests := map[string]struct { - input *fake.Clientset - output string - }{ - "basic IngressClass (v1beta1)": { - input: fake.NewClientset(&networkingv1beta1.IngressClass{ - ObjectMeta: metav1.ObjectMeta{ - Name: "example-class", - }, - Spec: networkingv1beta1.IngressClassSpec{ - Controller: "example.com/controller", - Parameters: &networkingv1beta1.IngressClassParametersReference{ - APIGroup: ptr.To("v1"), - Kind: "ConfigMap", - Name: "example-parameters", - }, - }, - }), - output: expectedOut, + input := fake.NewClientset(&networkingv1.IngressClass{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-class", }, - "basic IngressClass (v1)": { - input: fake.NewClientset(&networkingv1.IngressClass{ - ObjectMeta: metav1.ObjectMeta{ - Name: "example-class", - }, - Spec: networkingv1.IngressClassSpec{ - Controller: "example.com/controller", - Parameters: &networkingv1.IngressClassParametersReference{ - APIGroup: ptr.To("v1"), - Kind: "ConfigMap", - Name: "example-parameters", - }, - }, - }), - output: expectedOut, + Spec: networkingv1.IngressClassSpec{ + Controller: "example.com/controller", + Parameters: &networkingv1.IngressClassParametersReference{ + APIGroup: ptr.To("v1"), + Kind: "ConfigMap", + Name: "example-parameters", + }, }, - } + }) - for name, test := range tests { - t.Run(name, func(t *testing.T) { - c := &describeClient{T: t, Namespace: "foo", Interface: test.input} - d := IngressClassDescriber{c} - out, err := d.Describe("", "example-class", DescriberSettings{}) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if out != expectedOut { - t.Log(out) - t.Errorf("expected : %q\n but got output:\n %q", test.output, out) - } - }) + c := &describeClient{T: t, Namespace: "foo", Interface: input} + d := IngressClassDescriber{c} + out, err := d.Describe("", "example-class", DescriberSettings{}) + if err != nil { + t.Errorf("unexpected error: %v", err) + } + if out != expectedOut { + t.Log(out) + t.Errorf("expected : %q\n but got output:\n %q", expectedOut, out) } }