mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
Clean shutdown of job integration tests
This commit is contained in:
parent
c6970e6452
commit
aee829abf4
@ -47,6 +47,7 @@ import (
|
|||||||
"k8s.io/client-go/util/retry"
|
"k8s.io/client-go/util/retry"
|
||||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||||
"k8s.io/controller-manager/pkg/informerfactory"
|
"k8s.io/controller-manager/pkg/informerfactory"
|
||||||
|
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||||
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
||||||
"k8s.io/kubernetes/pkg/controller/garbagecollector"
|
"k8s.io/kubernetes/pkg/controller/garbagecollector"
|
||||||
jobcontroller "k8s.io/kubernetes/pkg/controller/job"
|
jobcontroller "k8s.io/kubernetes/pkg/controller/job"
|
||||||
@ -586,9 +587,7 @@ func TestFinalizersClearedWhenBackoffLimitExceeded(t *testing.T) {
|
|||||||
closeFn, restConfig, clientSet, ns := setup(t, "simple")
|
closeFn, restConfig, clientSet, ns := setup(t, "simple")
|
||||||
defer closeFn()
|
defer closeFn()
|
||||||
ctx, cancel := startJobControllerAndWaitForCaches(restConfig)
|
ctx, cancel := startJobControllerAndWaitForCaches(restConfig)
|
||||||
defer func() {
|
defer cancel()
|
||||||
cancel()
|
|
||||||
}()
|
|
||||||
|
|
||||||
// Job tracking with finalizers requires less calls in Indexed mode,
|
// Job tracking with finalizers requires less calls in Indexed mode,
|
||||||
// so it's more likely to process all finalizers before all the pods
|
// so it's more likely to process all finalizers before all the pods
|
||||||
@ -785,9 +784,7 @@ func TestSuspendJobControllerRestart(t *testing.T) {
|
|||||||
closeFn, restConfig, clientSet, ns := setup(t, "suspend")
|
closeFn, restConfig, clientSet, ns := setup(t, "suspend")
|
||||||
defer closeFn()
|
defer closeFn()
|
||||||
ctx, cancel := startJobControllerAndWaitForCaches(restConfig)
|
ctx, cancel := startJobControllerAndWaitForCaches(restConfig)
|
||||||
defer func() {
|
defer cancel()
|
||||||
cancel()
|
|
||||||
}()
|
|
||||||
|
|
||||||
job, err := createJobWithDefaults(ctx, clientSet, ns.Name, &batchv1.Job{
|
job, err := createJobWithDefaults(ctx, clientSet, ns.Name, &batchv1.Job{
|
||||||
Spec: batchv1.JobSpec{
|
Spec: batchv1.JobSpec{
|
||||||
@ -1162,24 +1159,23 @@ func createJobWithDefaults(ctx context.Context, clientSet clientset.Interface, n
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setup(t *testing.T, nsBaseName string) (framework.CloseFunc, *restclient.Config, clientset.Interface, *v1.Namespace) {
|
func setup(t *testing.T, nsBaseName string) (framework.CloseFunc, *restclient.Config, clientset.Interface, *v1.Namespace) {
|
||||||
controlPlaneConfig := framework.NewIntegrationTestControlPlaneConfig()
|
// Disable ServiceAccount admission plugin as we don't have serviceaccount controller running.
|
||||||
_, server, apiServerCloseFn := framework.RunAnAPIServer(controlPlaneConfig)
|
server := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--disable-admission-plugins=ServiceAccount"}, framework.SharedEtcd())
|
||||||
|
|
||||||
config := restclient.Config{
|
config := restclient.CopyConfig(server.ClientConfig)
|
||||||
Host: server.URL,
|
config.QPS = 200
|
||||||
QPS: 200.0,
|
config.Burst = 200
|
||||||
Burst: 200,
|
clientSet, err := clientset.NewForConfig(config)
|
||||||
}
|
|
||||||
clientSet, err := clientset.NewForConfig(&config)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Error creating clientset: %v", err)
|
t.Fatalf("Error creating clientset: %v", err)
|
||||||
}
|
}
|
||||||
ns := framework.CreateTestingNamespace(nsBaseName, t)
|
|
||||||
|
ns := framework.CreateNamespaceOrDie(clientSet, nsBaseName, t)
|
||||||
closeFn := func() {
|
closeFn := func() {
|
||||||
framework.DeleteTestingNamespace(ns, t)
|
framework.DeleteNamespaceOrDie(clientSet, ns, t)
|
||||||
apiServerCloseFn()
|
server.TearDownFn()
|
||||||
}
|
}
|
||||||
return closeFn, &config, clientSet, ns
|
return closeFn, config, clientSet, ns
|
||||||
}
|
}
|
||||||
|
|
||||||
func startJobControllerAndWaitForCaches(restConfig *restclient.Config) (context.Context, context.CancelFunc) {
|
func startJobControllerAndWaitForCaches(restConfig *restclient.Config) (context.Context, context.CancelFunc) {
|
||||||
|
Loading…
Reference in New Issue
Block a user