Skip to content

Commit 0c88c48

Browse files
authored
Merge pull request kubernetes#84275 from liggitt/beta-gate-runtimeclass-informers
Feature-gate RuntimeClass informer starts
2 parents b6c8f49 + 20b2439 commit 0c88c48

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

pkg/kubeapiserver/options/plugins.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ import (
5555
"k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle"
5656
mutatingwebhook "k8s.io/apiserver/pkg/admission/plugin/webhook/mutating"
5757
validatingwebhook "k8s.io/apiserver/pkg/admission/plugin/webhook/validating"
58-
utilfeature "k8s.io/apiserver/pkg/util/feature"
59-
"k8s.io/kubernetes/pkg/features"
6058
)
6159

6260
// AllOrderedPlugins is the list of all the plugins in order.
@@ -143,11 +141,8 @@ func DefaultOffAdmissionPlugins() sets.String {
143141
storageobjectinuseprotection.PluginName, //StorageObjectInUseProtection
144142
podpriority.PluginName, //PodPriority
145143
nodetaint.PluginName, //TaintNodesByCondition
144+
runtimeclass.PluginName, //RuntimeClass, gates internally on the feature
146145
)
147146

148-
if utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) {
149-
defaultOnPlugins.Insert(runtimeclass.PluginName) //RuntimeClass
150-
}
151-
152147
return sets.NewString(AllOrderedPlugins...).Difference(defaultOnPlugins)
153148
}

plugin/pkg/admission/runtimeclass/admission.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,19 @@ var _ genericadmissioninitailizer.WantsExternalKubeInformerFactory = &RuntimeCla
6767

6868
// SetExternalKubeInformerFactory implements the WantsExternalKubeInformerFactory interface.
6969
func (r *RuntimeClass) SetExternalKubeInformerFactory(f informers.SharedInformerFactory) {
70+
if !utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) {
71+
return
72+
}
7073
runtimeClassInformer := f.Node().V1beta1().RuntimeClasses()
7174
r.SetReadyFunc(runtimeClassInformer.Informer().HasSynced)
7275
r.runtimeClassLister = runtimeClassInformer.Lister()
7376
}
7477

7578
// ValidateInitialization implements the WantsExternalKubeInformerFactory interface.
7679
func (r *RuntimeClass) ValidateInitialization() error {
80+
if !utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) {
81+
return nil
82+
}
7783
if r.runtimeClassLister == nil {
7884
return fmt.Errorf("missing RuntimeClass lister")
7985
}
@@ -110,6 +116,10 @@ func (r *RuntimeClass) Admit(ctx context.Context, attributes admission.Attribute
110116

111117
// Validate makes sure that pod adhere's to RuntimeClass's definition
112118
func (r *RuntimeClass) Validate(ctx context.Context, attributes admission.Attributes, o admission.ObjectInterfaces) error {
119+
if !utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) {
120+
return nil
121+
}
122+
113123
// Ignore all calls to subresources or resources other than pods.
114124
if shouldIgnore(attributes) {
115125
return nil

0 commit comments

Comments
 (0)