mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	remove enabled by default beta resources that have been removed
This commit is contained in:
		@@ -678,15 +678,7 @@ var (
 | 
				
			|||||||
	// see https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3136-beta-apis-off-by-default
 | 
						// see https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3136-beta-apis-off-by-default
 | 
				
			||||||
	// for more details.
 | 
						// for more details.
 | 
				
			||||||
	legacyBetaEnabledByDefaultResources = []schema.GroupVersionResource{
 | 
						legacyBetaEnabledByDefaultResources = []schema.GroupVersionResource{
 | 
				
			||||||
		autoscalingapiv2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), // remove in 1.25
 | 
					 | 
				
			||||||
		autoscalingapiv2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), // remove in 1.26
 | 
							autoscalingapiv2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), // remove in 1.26
 | 
				
			||||||
		batchapiv1beta1.SchemeGroupVersion.WithResource("cronjobs"),                       // remove in 1.25
 | 
					 | 
				
			||||||
		discoveryv1beta1.SchemeGroupVersion.WithResource("endpointslices"),                // remove in 1.25
 | 
					 | 
				
			||||||
		eventsv1beta1.SchemeGroupVersion.WithResource("events"),                           // remove in 1.25
 | 
					 | 
				
			||||||
		nodev1beta1.SchemeGroupVersion.WithResource("runtimeclasses"),                     // remove in 1.25
 | 
					 | 
				
			||||||
		policyapiv1beta1.SchemeGroupVersion.WithResource("poddisruptionbudgets"),          // remove in 1.25
 | 
					 | 
				
			||||||
		policyapiv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies"),           // remove in 1.25
 | 
					 | 
				
			||||||
		storageapiv1beta1.SchemeGroupVersion.WithResource("csinodes"),                     // remove in 1.25
 | 
					 | 
				
			||||||
		storageapiv1beta1.SchemeGroupVersion.WithResource("csistoragecapacities"),         // remove in 1.27
 | 
							storageapiv1beta1.SchemeGroupVersion.WithResource("csistoragecapacities"),         // remove in 1.27
 | 
				
			||||||
		flowcontrolv1beta1.SchemeGroupVersion.WithResource("flowschemas"),                 // remove in 1.26
 | 
							flowcontrolv1beta1.SchemeGroupVersion.WithResource("flowschemas"),                 // remove in 1.26
 | 
				
			||||||
		flowcontrolv1beta1.SchemeGroupVersion.WithResource("prioritylevelconfigurations"), // remove in 1.26
 | 
							flowcontrolv1beta1.SchemeGroupVersion.WithResource("prioritylevelconfigurations"), // remove in 1.26
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -399,68 +399,6 @@ func TestStorageVersionHashes(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestStorageVersionHashEqualities(t *testing.T) {
 | 
					 | 
				
			||||||
	apiserver, etcdserver, _, assert := newInstance(t)
 | 
					 | 
				
			||||||
	defer etcdserver.Terminate(t)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	server := httptest.NewServer(apiserver.GenericAPIServer.Handler.GoRestfulContainer.ServeMux)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Test 1: extensions/v1beta1/ingresses and apps/v1/ingresses have
 | 
					 | 
				
			||||||
	// the same storage version hash.
 | 
					 | 
				
			||||||
	resp, err := http.Get(server.URL + "/apis/extensions/v1beta1")
 | 
					 | 
				
			||||||
	assert.Empty(err)
 | 
					 | 
				
			||||||
	extList := metav1.APIResourceList{}
 | 
					 | 
				
			||||||
	assert.NoError(decodeResponse(resp, &extList))
 | 
					 | 
				
			||||||
	var extIngressHash, appsIngressHash string
 | 
					 | 
				
			||||||
	for _, r := range extList.APIResources {
 | 
					 | 
				
			||||||
		if r.Name == "ingresses" {
 | 
					 | 
				
			||||||
			extIngressHash = r.StorageVersionHash
 | 
					 | 
				
			||||||
			assert.NotEmpty(extIngressHash)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	resp, err = http.Get(server.URL + "/apis/networking.k8s.io/v1beta1")
 | 
					 | 
				
			||||||
	assert.Empty(err)
 | 
					 | 
				
			||||||
	appsList := metav1.APIResourceList{}
 | 
					 | 
				
			||||||
	assert.NoError(decodeResponse(resp, &appsList))
 | 
					 | 
				
			||||||
	for _, r := range appsList.APIResources {
 | 
					 | 
				
			||||||
		if r.Name == "ingresses" {
 | 
					 | 
				
			||||||
			appsIngressHash = r.StorageVersionHash
 | 
					 | 
				
			||||||
			assert.NotEmpty(appsIngressHash)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if len(extIngressHash) > 0 && len(appsIngressHash) > 0 {
 | 
					 | 
				
			||||||
		assert.Equal(extIngressHash, appsIngressHash)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Test 2: batch/v1/jobs and batch/v1beta1/cronjobs have different
 | 
					 | 
				
			||||||
	// storage version hashes.
 | 
					 | 
				
			||||||
	resp, err = http.Get(server.URL + "/apis/batch/v1")
 | 
					 | 
				
			||||||
	assert.Empty(err)
 | 
					 | 
				
			||||||
	batchv1 := metav1.APIResourceList{}
 | 
					 | 
				
			||||||
	assert.NoError(decodeResponse(resp, &batchv1))
 | 
					 | 
				
			||||||
	var jobsHash string
 | 
					 | 
				
			||||||
	for _, r := range batchv1.APIResources {
 | 
					 | 
				
			||||||
		if r.Name == "jobs" {
 | 
					 | 
				
			||||||
			jobsHash = r.StorageVersionHash
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	assert.NotEmpty(jobsHash)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	resp, err = http.Get(server.URL + "/apis/batch/v1beta1")
 | 
					 | 
				
			||||||
	assert.Empty(err)
 | 
					 | 
				
			||||||
	batchv1beta1 := metav1.APIResourceList{}
 | 
					 | 
				
			||||||
	assert.NoError(decodeResponse(resp, &batchv1beta1))
 | 
					 | 
				
			||||||
	var cronjobsHash string
 | 
					 | 
				
			||||||
	for _, r := range batchv1beta1.APIResources {
 | 
					 | 
				
			||||||
		if r.Name == "cronjobs" {
 | 
					 | 
				
			||||||
			cronjobsHash = r.StorageVersionHash
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	assert.NotEmpty(cronjobsHash)
 | 
					 | 
				
			||||||
	assert.NotEqual(jobsHash, cronjobsHash)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func TestNoAlphaVersionsEnabledByDefault(t *testing.T) {
 | 
					func TestNoAlphaVersionsEnabledByDefault(t *testing.T) {
 | 
				
			||||||
	config := DefaultAPIResourceConfigSource()
 | 
						config := DefaultAPIResourceConfigSource()
 | 
				
			||||||
	for gv, enable := range config.GroupVersionConfigs {
 | 
						for gv, enable := range config.GroupVersionConfigs {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,23 +53,17 @@ var GVRToStorageVersionHash = map[string]string{
 | 
				
			|||||||
	"v1/services":               "0/CO1lhkEBI=",
 | 
						"v1/services":               "0/CO1lhkEBI=",
 | 
				
			||||||
	"autoscaling/v1/horizontalpodautoscalers":      "oQlkt7f5j/A=",
 | 
						"autoscaling/v1/horizontalpodautoscalers":      "oQlkt7f5j/A=",
 | 
				
			||||||
	"autoscaling/v2/horizontalpodautoscalers":      "oQlkt7f5j/A=",
 | 
						"autoscaling/v2/horizontalpodautoscalers":      "oQlkt7f5j/A=",
 | 
				
			||||||
	"autoscaling/v2beta1/horizontalpodautoscalers": "oQlkt7f5j/A=",
 | 
					 | 
				
			||||||
	"autoscaling/v2beta2/horizontalpodautoscalers": "oQlkt7f5j/A=",
 | 
						"autoscaling/v2beta2/horizontalpodautoscalers": "oQlkt7f5j/A=",
 | 
				
			||||||
	"batch/v1/jobs":          "mudhfqk/qZY=",
 | 
						"batch/v1/jobs":     "mudhfqk/qZY=",
 | 
				
			||||||
	"batch/v1/cronjobs":      "h/JlFAZkyyY=",
 | 
						"batch/v1/cronjobs": "h/JlFAZkyyY=",
 | 
				
			||||||
	"batch/v1beta1/cronjobs": "h/JlFAZkyyY=",
 | 
					 | 
				
			||||||
	"certificates.k8s.io/v1/certificatesigningrequests":                "95fRKMXA+00=",
 | 
						"certificates.k8s.io/v1/certificatesigningrequests":                "95fRKMXA+00=",
 | 
				
			||||||
	"coordination.k8s.io/v1/leases":                                    "gqkMMb/YqFM=",
 | 
						"coordination.k8s.io/v1/leases":                                    "gqkMMb/YqFM=",
 | 
				
			||||||
	"discovery.k8s.io/v1/endpointslices":                               "Nx3SIv6I0mE=",
 | 
						"discovery.k8s.io/v1/endpointslices":                               "Nx3SIv6I0mE=",
 | 
				
			||||||
	"discovery.k8s.io/v1beta1/endpointslices":                          "Nx3SIv6I0mE=",
 | 
					 | 
				
			||||||
	"networking.k8s.io/v1/networkpolicies":                             "YpfwF18m1G8=",
 | 
						"networking.k8s.io/v1/networkpolicies":                             "YpfwF18m1G8=",
 | 
				
			||||||
	"networking.k8s.io/v1/ingresses":                                   "ZOAfGflaKd0=",
 | 
						"networking.k8s.io/v1/ingresses":                                   "ZOAfGflaKd0=",
 | 
				
			||||||
	"networking.k8s.io/v1/ingressclasses":                              "l/iqIbDgFyQ=",
 | 
						"networking.k8s.io/v1/ingressclasses":                              "l/iqIbDgFyQ=",
 | 
				
			||||||
	"node.k8s.io/v1/runtimeclasses":                                    "WQTu1GL3T2Q=",
 | 
						"node.k8s.io/v1/runtimeclasses":                                    "WQTu1GL3T2Q=",
 | 
				
			||||||
	"node.k8s.io/v1beta1/runtimeclasses":                               "WQTu1GL3T2Q=",
 | 
					 | 
				
			||||||
	"policy/v1/poddisruptionbudgets":                                   "6BGBu0kpHtk=",
 | 
						"policy/v1/poddisruptionbudgets":                                   "6BGBu0kpHtk=",
 | 
				
			||||||
	"policy/v1beta1/poddisruptionbudgets":                              "6BGBu0kpHtk=",
 | 
					 | 
				
			||||||
	"policy/v1beta1/podsecuritypolicies":                               "khBLobUXkqA=",
 | 
					 | 
				
			||||||
	"rbac.authorization.k8s.io/v1/clusterrolebindings":                 "48tpQ8gZHFc=",
 | 
						"rbac.authorization.k8s.io/v1/clusterrolebindings":                 "48tpQ8gZHFc=",
 | 
				
			||||||
	"rbac.authorization.k8s.io/v1/clusterroles":                        "bYE5ZWDrJ44=",
 | 
						"rbac.authorization.k8s.io/v1/clusterroles":                        "bYE5ZWDrJ44=",
 | 
				
			||||||
	"rbac.authorization.k8s.io/v1/rolebindings":                        "eGsCzGH6b1g=",
 | 
						"rbac.authorization.k8s.io/v1/rolebindings":                        "eGsCzGH6b1g=",
 | 
				
			||||||
@@ -89,7 +83,6 @@ var GVRToStorageVersionHash = map[string]string{
 | 
				
			|||||||
	"admissionregistration.k8s.io/v1/mutatingwebhookconfigurations":    "Sqi0GUgDaX0=",
 | 
						"admissionregistration.k8s.io/v1/mutatingwebhookconfigurations":    "Sqi0GUgDaX0=",
 | 
				
			||||||
	"admissionregistration.k8s.io/v1/validatingwebhookconfigurations":  "B0wHjQmsGNk=",
 | 
						"admissionregistration.k8s.io/v1/validatingwebhookconfigurations":  "B0wHjQmsGNk=",
 | 
				
			||||||
	"events.k8s.io/v1/events":                                          "r2yiGXH7wu8=",
 | 
						"events.k8s.io/v1/events":                                          "r2yiGXH7wu8=",
 | 
				
			||||||
	"events.k8s.io/v1beta1/events":                                     "r2yiGXH7wu8=",
 | 
					 | 
				
			||||||
	"flowcontrol.apiserver.k8s.io/v1beta2/flowschemas":                 "9bSnTLYweJ0=",
 | 
						"flowcontrol.apiserver.k8s.io/v1beta2/flowschemas":                 "9bSnTLYweJ0=",
 | 
				
			||||||
	"flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations": "BFVwf8eYnsw=",
 | 
						"flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations": "BFVwf8eYnsw=",
 | 
				
			||||||
	"flowcontrol.apiserver.k8s.io/v1beta1/flowschemas":                 "9bSnTLYweJ0=",
 | 
						"flowcontrol.apiserver.k8s.io/v1beta1/flowschemas":                 "9bSnTLYweJ0=",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user