Clean shutdown of endpointslice integration tests

This commit is contained in:
Wojciech Tyczyński 2022-05-21 10:46:25 +02:00
parent 7add7ba9e5
commit 492bad026c
2 changed files with 26 additions and 30 deletions

View File

@ -32,7 +32,7 @@ import (
"k8s.io/client-go/informers" "k8s.io/client-go/informers"
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
restclient "k8s.io/client-go/rest" kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
"k8s.io/kubernetes/pkg/controller/endpoint" "k8s.io/kubernetes/pkg/controller/endpoint"
"k8s.io/kubernetes/pkg/controller/endpointslice" "k8s.io/kubernetes/pkg/controller/endpointslice"
"k8s.io/kubernetes/pkg/controller/endpointslicemirroring" "k8s.io/kubernetes/pkg/controller/endpointslicemirroring"
@ -40,12 +40,11 @@ import (
) )
func TestEndpointSliceMirroring(t *testing.T) { func TestEndpointSliceMirroring(t *testing.T) {
controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() // Disable ServiceAccount admission plugin as we don't have serviceaccount controller running.
_, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) server := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--disable-admission-plugins=ServiceAccount"}, framework.SharedEtcd())
defer closeFn() defer server.TearDownFn()
config := restclient.Config{Host: server.URL} client, err := clientset.NewForConfig(server.ClientConfig)
client, err := clientset.NewForConfig(&config)
if err != nil { if err != nil {
t.Fatalf("Error creating clientset: %v", err) t.Fatalf("Error creating clientset: %v", err)
} }
@ -174,8 +173,8 @@ func TestEndpointSliceMirroring(t *testing.T) {
for i, tc := range testCases { for i, tc := range testCases {
t.Run(tc.testName, func(t *testing.T) { t.Run(tc.testName, func(t *testing.T) {
ns := framework.CreateTestingNamespace(fmt.Sprintf("test-endpointslice-mirroring-%d", i), t) ns := framework.CreateNamespaceOrDie(client, fmt.Sprintf("test-endpointslice-mirroring-%d", i), t)
defer framework.DeleteTestingNamespace(ns, t) defer framework.DeleteNamespaceOrDie(client, ns, t)
resourceName := "" resourceName := ""
if tc.service != nil { if tc.service != nil {
@ -234,12 +233,11 @@ func TestEndpointSliceMirroring(t *testing.T) {
} }
func TestEndpointSliceMirroringUpdates(t *testing.T) { func TestEndpointSliceMirroringUpdates(t *testing.T) {
controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() // Disable ServiceAccount admission plugin as we don't have serviceaccount controller running.
_, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) server := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--disable-admission-plugins=ServiceAccount"}, framework.SharedEtcd())
defer closeFn() defer server.TearDownFn()
config := restclient.Config{Host: server.URL} client, err := clientset.NewForConfig(server.ClientConfig)
client, err := clientset.NewForConfig(&config)
if err != nil { if err != nil {
t.Fatalf("Error creating clientset: %v", err) t.Fatalf("Error creating clientset: %v", err)
} }
@ -294,8 +292,8 @@ func TestEndpointSliceMirroringUpdates(t *testing.T) {
for i, tc := range testCases { for i, tc := range testCases {
t.Run(tc.testName, func(t *testing.T) { t.Run(tc.testName, func(t *testing.T) {
ns := framework.CreateTestingNamespace(fmt.Sprintf("test-endpointslice-mirroring-%d", i), t) ns := framework.CreateNamespaceOrDie(client, fmt.Sprintf("test-endpointslice-mirroring-%d", i), t)
defer framework.DeleteTestingNamespace(ns, t) defer framework.DeleteNamespaceOrDie(client, ns, t)
service := &corev1.Service{ service := &corev1.Service{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
@ -410,12 +408,11 @@ func TestEndpointSliceMirroringUpdates(t *testing.T) {
} }
func TestEndpointSliceMirroringSelectorTransition(t *testing.T) { func TestEndpointSliceMirroringSelectorTransition(t *testing.T) {
controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() // Disable ServiceAccount admission plugin as we don't have serviceaccount controller running.
_, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) server := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--disable-admission-plugins=ServiceAccount"}, framework.SharedEtcd())
defer closeFn() defer server.TearDownFn()
config := restclient.Config{Host: server.URL} client, err := clientset.NewForConfig(server.ClientConfig)
client, err := clientset.NewForConfig(&config)
if err != nil { if err != nil {
t.Fatalf("Error creating clientset: %v", err) t.Fatalf("Error creating clientset: %v", err)
} }
@ -476,8 +473,8 @@ func TestEndpointSliceMirroringSelectorTransition(t *testing.T) {
for i, tc := range testCases { for i, tc := range testCases {
t.Run(tc.testName, func(t *testing.T) { t.Run(tc.testName, func(t *testing.T) {
ns := framework.CreateTestingNamespace(fmt.Sprintf("test-endpointslice-mirroring-%d", i), t) ns := framework.CreateNamespaceOrDie(client, fmt.Sprintf("test-endpointslice-mirroring-%d", i), t)
defer framework.DeleteTestingNamespace(ns, t) defer framework.DeleteNamespaceOrDie(client, ns, t)
meta := metav1.ObjectMeta{Name: "test-123", Namespace: ns.Name} meta := metav1.ObjectMeta{Name: "test-123", Namespace: ns.Name}
service := &corev1.Service{ service := &corev1.Service{

View File

@ -30,8 +30,8 @@ import (
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/informers" "k8s.io/client-go/informers"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
restclient "k8s.io/client-go/rest"
featuregatetesting "k8s.io/component-base/featuregate/testing" featuregatetesting "k8s.io/component-base/featuregate/testing"
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
"k8s.io/kubernetes/pkg/controller/endpointslice" "k8s.io/kubernetes/pkg/controller/endpointslice"
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
@ -152,12 +152,11 @@ func TestEndpointSliceTerminating(t *testing.T) {
t.Run(testcase.name, func(t *testing.T) { t.Run(testcase.name, func(t *testing.T) {
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EndpointSliceTerminatingCondition, testcase.terminatingGate)() defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EndpointSliceTerminatingCondition, testcase.terminatingGate)()
controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() // Disable ServiceAccount admission plugin as we don't have serviceaccount controller running.
_, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) server := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--disable-admission-plugins=ServiceAccount"}, framework.SharedEtcd())
defer closeFn() defer server.TearDownFn()
config := restclient.Config{Host: server.URL} client, err := clientset.NewForConfig(server.ClientConfig)
client, err := clientset.NewForConfig(&config)
if err != nil { if err != nil {
t.Fatalf("Error creating clientset: %v", err) t.Fatalf("Error creating clientset: %v", err)
} }
@ -181,8 +180,8 @@ func TestEndpointSliceTerminating(t *testing.T) {
go epsController.Run(1, stopCh) go epsController.Run(1, stopCh)
// Create namespace // Create namespace
ns := framework.CreateTestingNamespace("test-endpoints-terminating", t) ns := framework.CreateNamespaceOrDie(client, "test-endpoints-terminating", t)
defer framework.DeleteTestingNamespace(ns, t) defer framework.DeleteNamespaceOrDie(client, ns, t)
node := &corev1.Node{ node := &corev1.Node{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{