Skip to content

Commit e9dc2ee

Browse files
Merge pull request #21033 from aveshagarwal/master-rhbz-1628998
Update nodeenv plugin and DS controller to not process openshift.io/node-selector if scheduler.alpha.kubernetes.io/node-selector is set on pods namespace
2 parents a915bcd + f2d0786 commit e9dc2ee

File tree

3 files changed

+29
-13
lines changed

3 files changed

+29
-13
lines changed

pkg/project/apiserver/admission/nodeenv/admission.go

+13
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ func Register(plugins *admission.Plugins) {
2222
})
2323
}
2424

25+
const (
26+
KubeProjectNodeSelector = "scheduler.alpha.kubernetes.io/node-selector"
27+
)
28+
2529
// podNodeEnvironment is an implementation of admission.MutationInterface.
2630
type podNodeEnvironment struct {
2731
*admission.Handler
@@ -60,6 +64,15 @@ func (p *podNodeEnvironment) admit(a admission.Attributes, mutationAllowed bool)
6064
if err != nil {
6165
return apierrors.NewForbidden(resource, name, err)
6266
}
67+
68+
// If scheduler.alpha.kubernetes.io/node-selector is set on the pod,
69+
// do not process the pod further.
70+
if len(namespace.ObjectMeta.Annotations) > 0 {
71+
if _, ok := namespace.ObjectMeta.Annotations[KubeProjectNodeSelector]; ok {
72+
return nil
73+
}
74+
}
75+
6376
projectNodeSelector, err := p.cache.GetNodeSelectorMap(namespace)
6477
if err != nil {
6578
return err

vendor/k8s.io/kubernetes/pkg/controller/daemon/patch_nodeselector.go

+13-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/kubernetes/pkg/controller/daemon/patch_nodeselector_test.go

+3-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)