Skip to content

Commit

Permalink
Merge pull request #21058 from aveshagarwal/release-3.11-rhbz-1628998
Browse files Browse the repository at this point in the history
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
  • Loading branch information
openshift-merge-robot authored Sep 20, 2018
2 parents 7dd27b9 + bb54fb4 commit 3194805
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 13 deletions.
13 changes: 13 additions & 0 deletions pkg/project/apiserver/admission/nodeenv/admission.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ import (
"github.com/openshift/origin/pkg/util/labelselector"
)

const (
KubeProjectNodeSelector = "scheduler.alpha.kubernetes.io/node-selector"
)

func Register(plugins *admission.Plugins) {
plugins.Register("OriginPodNodeEnvironment",
func(config io.Reader) (admission.Interface, error) {
Expand Down Expand Up @@ -58,6 +62,15 @@ func (p *podNodeEnvironment) Admit(a admission.Attributes) (err error) {
if err != nil {
return apierrors.NewForbidden(resource, name, err)
}

// If scheduler.alpha.kubernetes.io/node-selector is set on the pod,
// do not process the pod further.
if len(namespace.ObjectMeta.Annotations) > 0 {
if _, ok := namespace.ObjectMeta.Annotations[KubeProjectNodeSelector]; ok {
return nil
}
}

projectNodeSelector, err := p.cache.GetNodeSelectorMap(namespace)
if err != nil {
return err
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3194805

Please sign in to comment.