Require Kubernetes v1.14 or higher and deprecate extensions

This commit is contained in:
Manuel Alejandro de Brito Fontes 2020-09-02 09:08:53 -04:00
parent f55a47e461
commit b1f0d28634
5 changed files with 14 additions and 116 deletions

View file

@ -28,7 +28,6 @@ import (
"github.com/eapache/channels"
corev1 "k8s.io/api/core/v1"
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
networkingv1beta1 "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
@ -280,12 +279,7 @@ func New(
informers.WithNamespace(namespace),
informers.WithTweakListOptions(tweakListOptionsFunc))
if k8s.IsNetworkingIngressAvailable {
store.informers.Ingress = infFactory.Networking().V1beta1().Ingresses().Informer()
} else {
store.informers.Ingress = infFactory.Extensions().V1beta1().Ingresses().Informer()
}
store.informers.Ingress = infFactory.Networking().V1beta1().Ingresses().Informer()
store.listers.Ingress.Store = store.informers.Ingress.GetStore()
store.informers.Endpoint = infFactory.Core().V1().Endpoints().Informer()
@ -960,34 +954,10 @@ func (s k8sStore) GetRunningControllerPodsCount() int {
var runtimeScheme = k8sruntime.NewScheme()
func init() {
utilruntime.Must(extensionsv1beta1.AddToScheme(runtimeScheme))
utilruntime.Must(networkingv1beta1.AddToScheme(runtimeScheme))
}
func fromExtensions(old *extensionsv1beta1.Ingress) (*networkingv1beta1.Ingress, error) {
networkingIngress := &networkingv1beta1.Ingress{}
err := runtimeScheme.Convert(old, networkingIngress, nil)
if err != nil {
return nil, err
}
return networkingIngress, nil
}
func toIngress(obj interface{}) (*networkingv1beta1.Ingress, bool) {
oldVersion, inExtension := obj.(*extensionsv1beta1.Ingress)
if inExtension {
ing, err := fromExtensions(oldVersion)
if err != nil {
klog.Errorf("unexpected error converting Ingress from extensions package: %v", err)
return nil, false
}
k8s.SetDefaultNGINXPathType(ing)
return ing, true
}
if ing, ok := obj.(*networkingv1beta1.Ingress); ok {
k8s.SetDefaultNGINXPathType(ing)
return ing, true

View file

@ -17,7 +17,6 @@ limitations under the License.
package store
import (
"bytes"
"context"
"encoding/base64"
"fmt"
@ -30,7 +29,6 @@ import (
"github.com/eapache/channels"
v1 "k8s.io/api/core/v1"
extensions "k8s.io/api/extensions/v1beta1"
networking "k8s.io/api/networking/v1beta1"
k8sErrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -1069,51 +1067,3 @@ func TestGetRunningControllerPodsCount(t *testing.T) {
t.Errorf("Expected 1 controller Pods but got %v", s)
}
}
func TestIngressConversion(t *testing.T) {
ing := &extensions.Ingress{
ObjectMeta: metav1.ObjectMeta{
Name: "old-ingress",
Namespace: "demo",
CreationTimestamp: metav1.NewTime(time.Now()),
},
Spec: extensions.IngressSpec{
Rules: []extensions.IngressRule{
{
Host: "foo.bar",
IngressRuleValue: extensions.IngressRuleValue{
HTTP: &extensions.HTTPIngressRuleValue{
Paths: []extensions.HTTPIngressPath{
{
Backend: extensions.IngressBackend{
ServiceName: "demo",
ServicePort: intstr.FromInt(80),
},
},
},
},
},
},
},
},
}
new, err := fromExtensions(ing)
if err != nil {
t.Fatalf("unexpected error converting ingress: %v", err)
}
m1, err := new.Marshal()
if err != nil {
t.Fatalf("unexpected error marshalling Ingress: %v", err)
}
m2, err := ing.Marshal()
if err != nil {
t.Fatalf("unexpected error marshalling Ingress: %v", err)
}
if !bytes.Equal(m1, m2) {
t.Fatalf("Expected marshalling of types should be equal")
}
}