Delete only unscheduled pods if node doesn't exist anymore.

This commit is contained in:
Krzysztof Jastrzebski
2019-04-03 00:24:26 +02:00
parent d99f49d2a7
commit 9c142cf47b
2 changed files with 29 additions and 6 deletions

View File

@@ -2447,7 +2447,7 @@ func TestDeleteNoDaemonPod(t *testing.T) {
}
}
func TestDeletePodForNotExistingNode(t *testing.T) {
func TestDeleteUnscheduledPodForNotExistingNode(t *testing.T) {
for _, f := range []bool{true, false} {
defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ScheduleDaemonSetPods, f)()
for _, strategy := range updateStrategies() {
@@ -2461,6 +2461,26 @@ func TestDeletePodForNotExistingNode(t *testing.T) {
addNodes(manager.nodeStore, 0, 1, nil)
addPods(manager.podStore, "node-0", simpleDaemonSetLabel, ds, 1)
addPods(manager.podStore, "node-1", simpleDaemonSetLabel, ds, 1)
podScheduledUsingAffinity := newPod("pod1-node-3", "", simpleDaemonSetLabel, ds)
podScheduledUsingAffinity.Spec.Affinity = &v1.Affinity{
NodeAffinity: &v1.NodeAffinity{
RequiredDuringSchedulingIgnoredDuringExecution: &v1.NodeSelector{
NodeSelectorTerms: []v1.NodeSelectorTerm{
{
MatchFields: []v1.NodeSelectorRequirement{
{
Key: schedulerapi.NodeFieldSelectorKeyNodeName,
Operator: v1.NodeSelectorOpIn,
Values: []string{"node-2"},
},
},
},
},
},
},
}
manager.podStore.Add(podScheduledUsingAffinity)
if f {
syncAndValidateDaemonSets(t, manager, ds, podControl, 0, 1, 0)
} else {