From f218f7b262ecfb620d9b612b7be73f3442d1e7e6 Mon Sep 17 00:00:00 2001 From: ZhangKe10140699 Date: Fri, 1 Jul 2022 15:20:56 +0800 Subject: [PATCH] Computation of the StorageVersionHash use overridden storage versions in unit test --- pkg/controlplane/instance_test.go | 18 ++++-------------- .../storageversionhashdata/data.go | 10 +++++----- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/pkg/controlplane/instance_test.go b/pkg/controlplane/instance_test.go index e45c5be66b2..a37a4a2ccf8 100644 --- a/pkg/controlplane/instance_test.go +++ b/pkg/controlplane/instance_test.go @@ -57,12 +57,10 @@ import ( restclient "k8s.io/client-go/rest" kubeversion "k8s.io/component-base/version" "k8s.io/kubernetes/pkg/api/legacyscheme" - "k8s.io/kubernetes/pkg/apis/batch" flowcontrolv1beta2 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1beta2" - "k8s.io/kubernetes/pkg/apis/networking" - apisstorage "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/controlplane/reconcilers" "k8s.io/kubernetes/pkg/controlplane/storageversionhashdata" + "k8s.io/kubernetes/pkg/kubeapiserver" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" certificatesrest "k8s.io/kubernetes/pkg/registry/certificates/rest" corerest "k8s.io/kubernetes/pkg/registry/core/rest" @@ -87,17 +85,9 @@ func setUp(t *testing.T) (*etcd3testing.EtcdTestServer, Config, *assert.Assertio }, } - resourceEncoding := serverstorage.NewDefaultResourceEncodingConfig(legacyscheme.Scheme) - // This configures the testing apiserver the same way the real apiserver is - // configured. The storage versions of these resources are different - // from the storage versions of other resources in their group. - resourceEncodingOverrides := []schema.GroupVersionResource{ - batch.Resource("cronjobs").WithVersion("v1beta1"), - apisstorage.Resource("volumeattachments").WithVersion("v1beta1"), - networking.Resource("ingresses").WithVersion("v1beta1"), - } - resourceEncoding = resourceconfig.MergeResourceEncodingConfigs(resourceEncoding, resourceEncodingOverrides) - storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, "application/vnd.kubernetes.protobuf", legacyscheme.Codecs, resourceEncoding, DefaultAPIResourceConfigSource(), nil) + storageFactoryConfig := kubeapiserver.NewStorageFactoryConfig() + resourceEncoding := resourceconfig.MergeResourceEncodingConfigs(storageFactoryConfig.DefaultResourceEncoding, storageFactoryConfig.ResourceEncodingOverrides) + storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, "application/vnd.kubernetes.protobuf", storageFactoryConfig.Serializer, resourceEncoding, DefaultAPIResourceConfigSource(), nil) etcdOptions := options.NewEtcdOptions(storageConfig) // unit tests don't need watch cache and it leaks lots of goroutines with etcd testing functions during unit tests diff --git a/pkg/controlplane/storageversionhashdata/data.go b/pkg/controlplane/storageversionhashdata/data.go index 8552ecf5a3d..337cd8905e8 100644 --- a/pkg/controlplane/storageversionhashdata/data.go +++ b/pkg/controlplane/storageversionhashdata/data.go @@ -55,12 +55,12 @@ var GVRToStorageVersionHash = map[string]string{ "autoscaling/v2/horizontalpodautoscalers": "oQlkt7f5j/A=", "autoscaling/v2beta2/horizontalpodautoscalers": "oQlkt7f5j/A=", "batch/v1/jobs": "mudhfqk/qZY=", - "batch/v1/cronjobs": "h/JlFAZkyyY=", + "batch/v1/cronjobs": "sd5LIXh4Fjs=", "certificates.k8s.io/v1/certificatesigningrequests": "95fRKMXA+00=", "coordination.k8s.io/v1/leases": "gqkMMb/YqFM=", "discovery.k8s.io/v1/endpointslices": "Nx3SIv6I0mE=", "networking.k8s.io/v1/networkpolicies": "YpfwF18m1G8=", - "networking.k8s.io/v1/ingresses": "ZOAfGflaKd0=", + "networking.k8s.io/v1/ingresses": "39NQlfNR+bo=", "networking.k8s.io/v1/ingressclasses": "l/iqIbDgFyQ=", "node.k8s.io/v1/runtimeclasses": "WQTu1GL3T2Q=", "policy/v1/poddisruptionbudgets": "6BGBu0kpHtk=", @@ -72,9 +72,9 @@ var GVRToStorageVersionHash = map[string]string{ "storage.k8s.io/v1/csidrivers": "hL6j/rwBV5w=", "storage.k8s.io/v1/csinodes": "Pe62DkZtjuo=", "storage.k8s.io/v1/storageclasses": "K+m6uJwbjGY=", - "storage.k8s.io/v1/csistoragecapacities": "xeVl+2Ly1kE=", - "storage.k8s.io/v1/volumeattachments": "vQAqD28V4AY=", - "storage.k8s.io/v1beta1/csistoragecapacities": "xeVl+2Ly1kE=", + "storage.k8s.io/v1/csistoragecapacities": "4as6MA/kOg0=", + "storage.k8s.io/v1/volumeattachments": "tJx/ezt6UDU=", + "storage.k8s.io/v1beta1/csistoragecapacities": "4as6MA/kOg0=", "apps/v1/controllerrevisions": "85nkx63pcBU=", "apps/v1/daemonsets": "dd7pWHUlMKQ=", "apps/v1/deployments": "8aSe+NMegvE=",