Skip to content

Commit e998ca8

Browse files
committed
UPSTREAM: <carry>: Move Group informer configuration into RestrictSubjectBindings
admission plugin initialization to prevent Group informers being configured when the plugin is disabled. This is necessary for when the OpenShift OAuth stack is not present and the plugin is disabled as part of that. Signed-off-by: Bryce Palmer <[email protected]>
1 parent 8ac36bf commit e998ca8

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

openshift-kube-apiserver/admission/authorization/restrictusers/restrictusers.go

+7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"k8s.io/apiserver/pkg/admission/initializer"
1414
"k8s.io/client-go/kubernetes"
1515
"k8s.io/client-go/rest"
16+
"k8s.io/client-go/tools/cache"
1617
"k8s.io/klog/v2"
1718
"k8s.io/kubernetes/pkg/apis/rbac"
1819

@@ -87,6 +88,12 @@ func (q *restrictUsersAdmission) SetRESTClientConfig(restClientConfig rest.Confi
8788
}
8889

8990
func (q *restrictUsersAdmission) SetUserInformer(userInformers userinformer.SharedInformerFactory) {
91+
if err := userInformers.User().V1().Groups().Informer().AddIndexers(cache.Indexers{
92+
usercache.ByUserIndexName: usercache.ByUserIndexKeys,
93+
}); err != nil {
94+
utilruntime.HandleError(err)
95+
return
96+
}
9097
q.groupCache = usercache.NewGroupCache(userInformers.User().V1().Groups())
9198
}
9299

openshift-kube-apiserver/openshiftkubeapiserver/patch.go

-8
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ import (
2727
clientgoinformers "k8s.io/client-go/informers"
2828
corev1informers "k8s.io/client-go/informers/core/v1"
2929
"k8s.io/client-go/rest"
30-
"k8s.io/client-go/tools/cache"
3130
"k8s.io/kubernetes/openshift-kube-apiserver/admission/authorization/restrictusers"
32-
"k8s.io/kubernetes/openshift-kube-apiserver/admission/authorization/restrictusers/usercache"
3331
"k8s.io/kubernetes/openshift-kube-apiserver/admission/autoscaling/managednode"
3432
"k8s.io/kubernetes/openshift-kube-apiserver/admission/autoscaling/managementcpusoverride"
3533
"k8s.io/kubernetes/openshift-kube-apiserver/admission/scheduler/nodeenv"
@@ -176,11 +174,6 @@ func newInformers(loopbackClientConfig *rest.Config) (*kubeAPIServerInformers, e
176174
OpenshiftUserInformers: userinformer.NewSharedInformerFactory(userClient, defaultInformerResyncPeriod),
177175
OpenshiftConfigInformers: configv1informer.NewSharedInformerFactory(configClient, defaultInformerResyncPeriod),
178176
}
179-
if err := ret.OpenshiftUserInformers.User().V1().Groups().Informer().AddIndexers(cache.Indexers{
180-
usercache.ByUserIndexName: usercache.ByUserIndexKeys,
181-
}); err != nil {
182-
return nil, err
183-
}
184177

185178
return ret, nil
186179
}
@@ -204,7 +197,6 @@ func (i *kubeAPIServerInformers) getOpenshiftUserInformers() userinformer.Shared
204197
func (i *kubeAPIServerInformers) getOpenshiftInfraInformers() configv1informer.SharedInformerFactory {
205198
return i.OpenshiftConfigInformers
206199
}
207-
208200
func (i *kubeAPIServerInformers) Start(stopCh <-chan struct{}) {
209201
i.OpenshiftQuotaInformers.Start(stopCh)
210202
i.OpenshiftSecurityInformers.Start(stopCh)

0 commit comments

Comments
 (0)