mirror of
https://github.com/kubernetes/kubectl.git
synced 2026-05-28 04:35:50 -04:00
Merge pull request #135108 from scaliby/remove-deprecated-ic-api
Drop support for networkingv1beta1.IngressClass in kubectl Kubernetes-commit: 07faa17f8fa8daa803408ea9409410d198516708
This commit is contained in:
commit
3e0ce445d5
2 changed files with 25 additions and 85 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue