diff --git a/test/integration/service/loadbalancer_test.go b/test/integration/service/loadbalancer_test.go index a234dcfa442..20ed0a797d7 100644 --- a/test/integration/service/loadbalancer_test.go +++ b/test/integration/service/loadbalancer_test.go @@ -26,9 +26,9 @@ import ( utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/informers" clientset "k8s.io/client-go/kubernetes" - restclient "k8s.io/client-go/rest" servicecontroller "k8s.io/cloud-provider/controllers/service" fakecloud "k8s.io/cloud-provider/fake" + kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" "k8s.io/kubernetes/test/integration/framework" utilpointer "k8s.io/utils/pointer" ) @@ -36,19 +36,16 @@ import ( // Test_ServiceLoadBalancerAllocateNodePorts tests that a Service with spec.allocateLoadBalancerNodePorts=false // does not allocate node ports for the Service. func Test_ServiceLoadBalancerDisableAllocateNodePorts(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-allocate-node-ports", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-allocate-node-ports", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) service := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -79,19 +76,16 @@ func Test_ServiceLoadBalancerDisableAllocateNodePorts(t *testing.T) { // Test_ServiceUpdateLoadBalancerAllocateNodePorts tests that a Service that is updated from ClusterIP to LoadBalancer // with spec.allocateLoadBalancerNodePorts=false does not allocate node ports for the Service func Test_ServiceUpdateLoadBalancerDisableAllocateNodePorts(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-allocate-node-ports", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-allocate-node-ports", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) service := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -132,19 +126,16 @@ func Test_ServiceUpdateLoadBalancerDisableAllocateNodePorts(t *testing.T) { // Test_ServiceLoadBalancerSwitchToDeallocatedNodePorts test that switching a Service // to spec.allocateLoadBalancerNodePorts=false, does not de-allocate existing node ports. func Test_ServiceLoadBalancerEnableThenDisableAllocatedNodePorts(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-deallocate-node-ports", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-deallocate-node-ports", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) service := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -185,19 +176,16 @@ func Test_ServiceLoadBalancerEnableThenDisableAllocatedNodePorts(t *testing.T) { // Test_ServiceLoadBalancerDisableThenEnableAllocatedNodePorts test that switching a Service // to spec.allocateLoadBalancerNodePorts=true from false, allocate new node ports. func Test_ServiceLoadBalancerDisableThenEnableAllocatedNodePorts(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-reallocate-node-ports", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-reallocate-node-ports", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) service := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -248,19 +236,16 @@ func serviceHasNodePorts(svc *corev1.Service) bool { // Test_ServiceLoadBalancerEnableLoadBalancerClass tests that when a LoadBalancer // type of service has spec.LoadBalancerClass set, cloud provider should not create default load balancer. func Test_ServiceLoadBalancerEnableLoadBalancerClass(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-load-balancer-class", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-load-balancer-class", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) controller, cloud, informer := newServiceController(t, client) @@ -297,19 +282,16 @@ func Test_ServiceLoadBalancerEnableLoadBalancerClass(t *testing.T) { // type of service has spec.LoadBalancerClass set, it should be immutable as long as the service type // is still LoadBalancer. func Test_SetLoadBalancerClassThenUpdateLoadBalancerClass(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-immutable-load-balancer-class", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-immutable-load-balancer-class", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) controller, cloud, informer := newServiceController(t, client) @@ -351,19 +333,16 @@ func Test_SetLoadBalancerClassThenUpdateLoadBalancerClass(t *testing.T) { // Test_UpdateLoadBalancerWithLoadBalancerClass tests that when a Load Balancer type of Service that // is updated from non loadBalancerClass set to loadBalancerClass set, it should be not allowed. func Test_UpdateLoadBalancerWithLoadBalancerClass(t *testing.T) { + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() - - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-service-update-load-balancer-class", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-service-update-load-balancer-class", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) controller, cloud, informer := newServiceController(t, client) diff --git a/test/integration/service/service_test.go b/test/integration/service/service_test.go index 8085c29ee3a..b721b72513e 100644 --- a/test/integration/service/service_test.go +++ b/test/integration/service/service_test.go @@ -23,7 +23,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" - restclient "k8s.io/client-go/rest" + kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" "k8s.io/kubernetes/test/integration/framework" ) @@ -32,18 +32,16 @@ import ( // the internalTrafficPolicy field was being defaulted in older versions. New versions stop defauting the // field and drop on read, but for compatibility reasons we still accept the field. func Test_ExternalNameServiceStopsDefaultingInternalTrafficPolicy(t *testing.T) { - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-external-name-drops-internal-traffic-policy", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-external-name-drops-internal-traffic-policy", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) service := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -78,18 +76,16 @@ func Test_ExternalNameServiceStopsDefaultingInternalTrafficPolicy(t *testing.T) // but drops the field on read. This test exists due to historic reasons where the internalTrafficPolicy field was being defaulted // in older versions. New versions stop defauting the field and drop on read, but for compatibility reasons we still accept the field. func Test_ExternalNameServiceDropsInternalTrafficPolicy(t *testing.T) { - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-external-name-drops-internal-traffic-policy", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-external-name-drops-internal-traffic-policy", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) internalTrafficPolicy := corev1.ServiceInternalTrafficPolicyCluster service := &corev1.Service{ @@ -127,18 +123,16 @@ func Test_ExternalNameServiceDropsInternalTrafficPolicy(t *testing.T) { // field was being defaulted in older versions. New versions stop defauting the field and drop on read, but for compatibility reasons // we still accept the field. func Test_ConvertingToExternalNameServiceDropsInternalTrafficPolicy(t *testing.T) { - controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig() - _, server, closeFn := framework.RunAnAPIServer(controlPlaneConfig) - defer closeFn() + server := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd()) + defer server.TearDownFn() - config := restclient.Config{Host: server.URL} - client, err := clientset.NewForConfig(&config) + client, err := clientset.NewForConfig(server.ClientConfig) if err != nil { t.Fatalf("Error creating clientset: %v", err) } - ns := framework.CreateTestingNamespace("test-external-name-drops-internal-traffic-policy", t) - defer framework.DeleteTestingNamespace(ns, t) + ns := framework.CreateNamespaceOrDie(client, "test-external-name-drops-internal-traffic-policy", t) + defer framework.DeleteNamespaceOrDie(client, ns, t) service := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ diff --git a/test/integration/service/upgrade_test.go b/test/integration/service/upgrade_test.go index 25366195a3c..c80b09a18c2 100644 --- a/test/integration/service/upgrade_test.go +++ b/test/integration/service/upgrade_test.go @@ -31,8 +31,7 @@ import ( func Test_UpgradeService(t *testing.T) { etcdOptions := framework.SharedEtcd() - apiServerOptions := kubeapiservertesting.NewDefaultTestServerOptions() - s := kubeapiservertesting.StartTestServerOrDie(t, apiServerOptions, nil, etcdOptions) + s := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, etcdOptions) defer s.TearDownFn() serviceName := "test-old-service" ns := "old-service-ns"