mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
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:
commit
e357b9a6f4
@ -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 {
|
||||||
|
if allAPIFlagValue == "false" {
|
||||||
// Disable all group versions.
|
// Disable all group versions.
|
||||||
for _, groupVersion := range registered.RegisteredGroupVersions() {
|
resourceConfig.DisableVersions(registered.RegisteredGroupVersions()...)
|
||||||
if resourceConfig.AnyResourcesForVersionEnabled(groupVersion) {
|
} else if allAPIFlagValue == "true" {
|
||||||
resourceConfig.DisableVersions(groupVersion)
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user