Merge pull request #32582 from jlowdermilk/api-all
Automatic merge from submit-queue make --runtime-config=api/all=true|false work `Passing --runtime-config=api/all=true|false to apiserver will enable/disable all registered api groups` Previously, only api/all=false was recognized, and it only disabled groups with resources.
This commit is contained in:
		| @@ -70,12 +70,12 @@ func mergeAPIResourceConfigs(defaultAPIResourceConfig *ResourceConfig, resourceC | |||||||
|  |  | ||||||
| 	// "api/all=false" allows users to selectively enable specific api versions. | 	// "api/all=false" allows users to selectively enable specific api versions. | ||||||
| 	allAPIFlagValue, ok := overrides["api/all"] | 	allAPIFlagValue, ok := overrides["api/all"] | ||||||
| 	if ok && allAPIFlagValue == "false" { | 	if ok { | ||||||
| 		// Disable all group versions. | 		if allAPIFlagValue == "false" { | ||||||
| 		for _, groupVersion := range registered.RegisteredGroupVersions() { | 			// Disable all group versions. | ||||||
| 			if resourceConfig.AnyResourcesForVersionEnabled(groupVersion) { | 			resourceConfig.DisableVersions(registered.RegisteredGroupVersions()...) | ||||||
| 				resourceConfig.DisableVersions(groupVersion) | 		} else if allAPIFlagValue == "true" { | ||||||
| 			} | 			resourceConfig.EnableVersions(registered.RegisteredGroupVersions()...) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -22,6 +22,7 @@ import ( | |||||||
|  |  | ||||||
| 	"k8s.io/kubernetes/pkg/api/unversioned" | 	"k8s.io/kubernetes/pkg/api/unversioned" | ||||||
| 	apiv1 "k8s.io/kubernetes/pkg/api/v1" | 	apiv1 "k8s.io/kubernetes/pkg/api/v1" | ||||||
|  | 	"k8s.io/kubernetes/pkg/apimachinery/registered" | ||||||
| 	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" | 	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -159,6 +160,36 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			}, | 			}, | ||||||
| 			err: true, | 			err: true, | ||||||
| 		}, | 		}, | ||||||
|  | 		{ | ||||||
|  | 			// enable all | ||||||
|  | 			runtimeConfig: map[string]string{ | ||||||
|  | 				"api/all": "true", | ||||||
|  | 			}, | ||||||
|  | 			defaultResourceConfig: func() *ResourceConfig { | ||||||
|  | 				return NewResourceConfig() | ||||||
|  | 			}, | ||||||
|  | 			expectedAPIConfig: func() *ResourceConfig { | ||||||
|  | 				config := NewResourceConfig() | ||||||
|  | 				config.EnableVersions(registered.RegisteredGroupVersions()...) | ||||||
|  | 				return config | ||||||
|  | 			}, | ||||||
|  | 			err: false, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			// disable all | ||||||
|  | 			runtimeConfig: map[string]string{ | ||||||
|  | 				"api/all": "false", | ||||||
|  | 			}, | ||||||
|  | 			defaultResourceConfig: func() *ResourceConfig { | ||||||
|  | 				return NewResourceConfig() | ||||||
|  | 			}, | ||||||
|  | 			expectedAPIConfig: func() *ResourceConfig { | ||||||
|  | 				config := NewResourceConfig() | ||||||
|  | 				config.DisableVersions(registered.RegisteredGroupVersions()...) | ||||||
|  | 				return config | ||||||
|  | 			}, | ||||||
|  | 			err: false, | ||||||
|  | 		}, | ||||||
| 	} | 	} | ||||||
| 	for _, test := range testCases { | 	for _, test := range testCases { | ||||||
| 		actualDisablers, err := mergeAPIResourceConfigs(test.defaultResourceConfig(), test.runtimeConfig) | 		actualDisablers, err := mergeAPIResourceConfigs(test.defaultResourceConfig(), test.runtimeConfig) | ||||||
| @@ -173,5 +204,4 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			t.Fatalf("%v: unexpected apiResourceDisablers. Actual: %v\n expected: %v", test.runtimeConfig, actualDisablers, expectedConfig) | 			t.Fatalf("%v: unexpected apiResourceDisablers. Actual: %v\n expected: %v", test.runtimeConfig, actualDisablers, expectedConfig) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Submit Queue
					Kubernetes Submit Queue