ensure flow-control api enabled

This commit is contained in:
yue9944882
2019-08-21 11:46:06 +08:00
committed by Mike Spreitzer
parent 313597b96b
commit 639be9133f
2 changed files with 16 additions and 0 deletions

View File

@@ -26,6 +26,7 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/flowcontrol/v1alpha1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",

View File

@@ -22,9 +22,12 @@ import (
"github.com/spf13/pflag"
flowcontrolv1alpha1 "k8s.io/api/flowcontrol/v1alpha1"
"k8s.io/apiserver/pkg/features"
"k8s.io/apiserver/pkg/server"
"k8s.io/apiserver/pkg/server/resourceconfig"
serverstore "k8s.io/apiserver/pkg/server/storage"
"k8s.io/apiserver/pkg/util/feature"
cliflag "k8s.io/component-base/cli/flag"
)
@@ -71,6 +74,18 @@ func (s *APIEnablementOptions) Validate(registries ...GroupRegisty) []error {
return append(errors, err)
}
if feature.DefaultFeatureGate.Enabled(features.RequestManagement) {
flowcontrolRegistered := false
for _, g := range groups {
if g == flowcontrolv1alpha1.SchemeGroupVersion.Group {
flowcontrolRegistered = true
}
}
if !flowcontrolRegistered {
return append(errors, fmt.Errorf("flowcontrol.apiserver.k8s.io has to be enabled with RequestManagement feature gate on"))
}
}
for _, registry := range registries {
// filter out known groups
groups = unknownGroups(groups, registry)