mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	make --runtime-config=api/all=true|false work
Currently, only api/all=false does something (disables all groups that have resources). Make api/all=false disable all groups (not just those with resources), and make api/all=true enable all groups
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.
 | 
			
		||||
	allAPIFlagValue, ok := overrides["api/all"]
 | 
			
		||||
	if ok && allAPIFlagValue == "false" {
 | 
			
		||||
		// Disable all group versions.
 | 
			
		||||
		for _, groupVersion := range registered.RegisteredGroupVersions() {
 | 
			
		||||
			if resourceConfig.AnyResourcesForVersionEnabled(groupVersion) {
 | 
			
		||||
				resourceConfig.DisableVersions(groupVersion)
 | 
			
		||||
			}
 | 
			
		||||
	if ok {
 | 
			
		||||
		if allAPIFlagValue == "false" {
 | 
			
		||||
			// Disable all group versions.
 | 
			
		||||
			resourceConfig.DisableVersions(registered.RegisteredGroupVersions()...)
 | 
			
		||||
		} else if allAPIFlagValue == "true" {
 | 
			
		||||
			resourceConfig.EnableVersions(registered.RegisteredGroupVersions()...)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api/unversioned"
 | 
			
		||||
	apiv1 "k8s.io/kubernetes/pkg/api/v1"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apimachinery/registered"
 | 
			
		||||
	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -159,6 +160,36 @@ func TestParseRuntimeConfig(t *testing.T) {
 | 
			
		||||
			},
 | 
			
		||||
			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 {
 | 
			
		||||
		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)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user