mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Switch admission webhook test to work with shared etcd
This commit is contained in:
parent
7bb4a3bace
commit
0b88095a17
@ -179,6 +179,8 @@ func StartTestServer(t Logger, instanceOptions *TestServerInstanceOptions, custo
|
|||||||
|
|
||||||
// from here the caller must call tearDown
|
// from here the caller must call tearDown
|
||||||
result.ClientConfig = server.LoopbackClientConfig
|
result.ClientConfig = server.LoopbackClientConfig
|
||||||
|
result.ClientConfig.QPS = 1000
|
||||||
|
result.ClientConfig.Burst = 10000
|
||||||
result.ServerOpts = s
|
result.ServerOpts = s
|
||||||
result.TearDownFn = tearDown
|
result.TearDownFn = tearDown
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ import (
|
|||||||
admissionv1beta1 "k8s.io/api/admissionregistration/v1beta1"
|
admissionv1beta1 "k8s.io/api/admissionregistration/v1beta1"
|
||||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
|
v1 "k8s.io/api/core/v1"
|
||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
policyv1beta1 "k8s.io/api/policy/v1beta1"
|
policyv1beta1 "k8s.io/api/policy/v1beta1"
|
||||||
apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||||
@ -353,31 +354,32 @@ func TestWebhookV1beta1(t *testing.T) {
|
|||||||
defer webhookServer.Close()
|
defer webhookServer.Close()
|
||||||
|
|
||||||
// start API server
|
// start API server
|
||||||
s, err := kubeapiservertesting.StartTestServer(t, kubeapiservertesting.NewDefaultTestServerOptions(), []string{
|
etcdConfig := framework.SharedEtcd()
|
||||||
|
server := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{
|
||||||
|
// turn off admission plugins that add finalizers
|
||||||
"--disable-admission-plugins=ServiceAccount,StorageObjectInUseProtection",
|
"--disable-admission-plugins=ServiceAccount,StorageObjectInUseProtection",
|
||||||
"--runtime-config=extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/podsecuritypolicies=true,extensions/v1beta1/networkpolicies=true",
|
// force enable all resources so we can check storage.
|
||||||
}, framework.SharedEtcd())
|
// TODO: drop these once we stop allowing them to be served.
|
||||||
if err != nil {
|
"--runtime-config=api/all=true,extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/podsecuritypolicies=true,extensions/v1beta1/networkpolicies=true",
|
||||||
t.Fatal(err)
|
}, etcdConfig)
|
||||||
}
|
defer server.TearDownFn()
|
||||||
defer s.TearDownFn()
|
|
||||||
|
|
||||||
// create CRDs so we can make sure that custom resources do not get lost
|
|
||||||
etcd.CreateTestCRDs(t, apiextensionsclientset.NewForConfigOrDie(s.ClientConfig), false, etcd.GetCustomResourceDefinitionData()...)
|
|
||||||
|
|
||||||
// Configure a client with a distinct user name so that it is easy to distinguish requests
|
// Configure a client with a distinct user name so that it is easy to distinguish requests
|
||||||
// made by the client from requests made by controllers. We use this to filter out requests
|
// made by the client from requests made by controllers. We use this to filter out requests
|
||||||
// before recording them to ensure we don't accidentally mistake requests from controllers
|
// before recording them to ensure we don't accidentally mistake requests from controllers
|
||||||
// as requests made by the client.
|
// as requests made by the client.
|
||||||
clientConfig := rest.CopyConfig(s.ClientConfig)
|
clientConfig := rest.CopyConfig(server.ClientConfig)
|
||||||
clientConfig.Impersonate.UserName = testClientUsername
|
clientConfig.Impersonate.UserName = testClientUsername
|
||||||
clientConfig.Impersonate.Groups = []string{"system:masters", "system:authenticated"}
|
clientConfig.Impersonate.Groups = []string{"system:masters", "system:authenticated"}
|
||||||
client, err := clientset.NewForConfig(clientConfig)
|
client, err := clientset.NewForConfig(clientConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := client.CoreV1().Namespaces().Create(&corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: testNamespace}}); err != nil {
|
// create CRDs
|
||||||
|
etcd.CreateTestCRDs(t, apiextensionsclientset.NewForConfigOrDie(server.ClientConfig), false, etcd.GetCustomResourceDefinitionData()...)
|
||||||
|
|
||||||
|
if _, err := client.CoreV1().Namespaces().Create(&v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: testNamespace}}); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if err := createV1beta1MutationWebhook(client, webhookServer.URL+"/"+mutation); err != nil {
|
if err := createV1beta1MutationWebhook(client, webhookServer.URL+"/"+mutation); err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user