From d02b5f427edb90c53de6a6819cd76062f6b51b66 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Fri, 20 Jan 2023 14:22:17 +0100 Subject: [PATCH] test(e2e): kube-apiserver kubelet-preferred-address-types support --- ...ation_preferredkubeletaddresstypes_test.go | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 e2e/tcp_validation_preferredkubeletaddresstypes_test.go diff --git a/e2e/tcp_validation_preferredkubeletaddresstypes_test.go b/e2e/tcp_validation_preferredkubeletaddresstypes_test.go new file mode 100644 index 0000000..ad61c0e --- /dev/null +++ b/e2e/tcp_validation_preferredkubeletaddresstypes_test.go @@ -0,0 +1,89 @@ +// Copyright 2022 Clastix Labs +// SPDX-License-Identifier: Apache-2.0 + +package e2e + +import ( + "context" + "time" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + kamajiv1alpha1 "github.com/clastix/kamaji/api/v1alpha1" +) + +var _ = Describe("Deploy a TenantControlPlane with wrong preferred kubelet address type entries", func() { + It("should fail when using duplicates", func() { + Consistently(func() error { + tcp := &kamajiv1alpha1.TenantControlPlane{ + ObjectMeta: metav1.ObjectMeta{ + Name: "duplicated-kubelet-preferred-address-type", + Namespace: "default", + }, + Spec: kamajiv1alpha1.TenantControlPlaneSpec{ + DataStore: "default", + ControlPlane: kamajiv1alpha1.ControlPlane{ + Deployment: kamajiv1alpha1.DeploymentSpec{ + Replicas: 1, + }, + Service: kamajiv1alpha1.ServiceSpec{ + ServiceType: "ClusterIP", + }, + }, + Kubernetes: kamajiv1alpha1.KubernetesSpec{ + Version: "v1.23.6", + Kubelet: kamajiv1alpha1.KubeletSpec{ + PreferredAddressTypes: []kamajiv1alpha1.KubeletPreferredAddressType{ + kamajiv1alpha1.NodeHostName, + kamajiv1alpha1.NodeInternalIP, + kamajiv1alpha1.NodeExternalIP, + kamajiv1alpha1.NodeHostName, + }, + CGroupFS: "cgroupfs", + }, + }, + }, + } + + return k8sClient.Create(context.Background(), tcp) + }, 10*time.Second, time.Second).ShouldNot(Succeed()) + }) + + It("should fail when using non valid entries", func() { + Consistently(func() error { + tcp := &kamajiv1alpha1.TenantControlPlane{ + ObjectMeta: metav1.ObjectMeta{ + Name: "duplicated-kubelet-preferred-address-type", + Namespace: "default", + }, + Spec: kamajiv1alpha1.TenantControlPlaneSpec{ + DataStore: "default", + ControlPlane: kamajiv1alpha1.ControlPlane{ + Deployment: kamajiv1alpha1.DeploymentSpec{ + Replicas: 1, + }, + Service: kamajiv1alpha1.ServiceSpec{ + ServiceType: "ClusterIP", + }, + }, + Kubernetes: kamajiv1alpha1.KubernetesSpec{ + Version: "v1.23.6", + Kubelet: kamajiv1alpha1.KubeletSpec{ + PreferredAddressTypes: []kamajiv1alpha1.KubeletPreferredAddressType{ + kamajiv1alpha1.NodeHostName, + kamajiv1alpha1.NodeInternalIP, + kamajiv1alpha1.NodeExternalIP, + "Foo", + }, + CGroupFS: "cgroupfs", + }, + }, + }, + } + + return k8sClient.Create(context.Background(), tcp) + }, 10*time.Second, time.Second).ShouldNot(Succeed()) + }) +})