Merge pull request #33509 from ivan4th/fix-daemon-set-namespace-handling-for-predicates

Automatic merge from submit-queue

Fix DaemonSet namespace handling for predicates

In order to determine whether a node should run its daemon pod,
DaemonController creates a dummy pod based on DaemonSet's template and
then uses scheduler predicates (currently GeneralPredicates) to test
whether such pod can be run by the node. The problem was that
DaemonController was not setting Namespace for the dummy pod. This was
not affecting currently used GeneralPredicates but this problem could
bite later when some namespace-dependent predicates are added to
GeneralPredicates or directly to DaemonController's node checks
(e.g. pod affinity).

Stumbled upon it while working on e2e test for #31136
pull/6/head
Kubernetes Submit Queue 2016-09-26 15:21:22 -07:00 committed by GitHub
commit f429d8f082
1 changed files with 1 additions and 0 deletions

View File

@ -650,6 +650,7 @@ func (dsc *DaemonSetsController) nodeShouldRunDaemonPod(node *api.Node, ds *exte
}
newPod := &api.Pod{Spec: ds.Spec.Template.Spec, ObjectMeta: ds.Spec.Template.ObjectMeta}
newPod.Namespace = ds.Namespace
newPod.Spec.NodeName = node.Name
pods := []*api.Pod{}