Skip to content

Commit 3194805

Browse files
Merge pull request #21058 from aveshagarwal/release-3.11-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 7dd27b9 + bb54fb4 commit 3194805

File tree

3 files changed

+29
-13
lines changed

3 files changed

+29
-13
lines changed

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ import (
1515
"github.com/openshift/origin/pkg/util/labelselector"
1616
)
1717

18+
const (
19+
KubeProjectNodeSelector = "scheduler.alpha.kubernetes.io/node-selector"
20+
)
21+
1822
func Register(plugins *admission.Plugins) {
1923
plugins.Register("OriginPodNodeEnvironment",
2024
func(config io.Reader) (admission.Interface, error) {
@@ -58,6 +62,15 @@ func (p *podNodeEnvironment) Admit(a admission.Attributes) (err error) {
5862
if err != nil {
5963
return apierrors.NewForbidden(resource, name, err)
6064
}
65+
66+
// If scheduler.alpha.kubernetes.io/node-selector is set on the pod,
67+
// do not process the pod further.
68+
if len(namespace.ObjectMeta.Annotations) > 0 {
69+
if _, ok := namespace.ObjectMeta.Annotations[KubeProjectNodeSelector]; ok {
70+
return nil
71+
}
72+
}
73+
6174
projectNodeSelector, err := p.cache.GetNodeSelectorMap(namespace)
6275
if err != nil {
6376
return err

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

Lines changed: 13 additions & 11 deletions
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

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)