Ensuring EndpointSlice controller does not start when feature gate or

API are disabled
This commit is contained in:
Rob Scott 2019-11-14 10:52:09 -08:00
parent 78d2e52dee
commit 77df6bc9a8
No known key found for this signature in database
GPG Key ID: 05B37CFC2CDE8B85
2 changed files with 15 additions and 0 deletions

View File

@ -109,6 +109,7 @@ go_library(
"//pkg/volume/util:go_default_library",
"//pkg/volume/vsphere_volume:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/discovery/v1beta1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",

View File

@ -23,10 +23,24 @@ package app
import (
"net/http"
discoveryv1beta1 "k8s.io/api/discovery/v1beta1"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/klog"
endpointslicecontroller "k8s.io/kubernetes/pkg/controller/endpointslice"
"k8s.io/kubernetes/pkg/features"
)
func startEndpointSliceController(ctx ControllerContext) (http.Handler, bool, error) {
if !utilfeature.DefaultFeatureGate.Enabled(features.EndpointSlice) {
klog.V(4).Infof("Not starting endpointslice-controller since EndpointSlice feature gate is disabled")
return nil, false, nil
}
if !ctx.AvailableResources[discoveryv1beta1.SchemeGroupVersion.WithResource("endpointslices")] {
klog.Warningf("Not starting endpointslice-controller since discovery.k8s.io/v1beta1 resources are not available")
return nil, false, nil
}
go endpointslicecontroller.NewController(
ctx.InformerFactory.Core().V1().Pods(),
ctx.InformerFactory.Core().V1().Services(),