mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
parent
bbedf9e71e
commit
b9611b95f4
@ -113,6 +113,10 @@ func (m *baseControllerRefManager) claimObject(obj metav1.Object, match func(met
|
||||
// Ignore if we're being deleted or selector doesn't match.
|
||||
return false, nil
|
||||
}
|
||||
if obj.GetDeletionTimestamp() != nil {
|
||||
// Ignore if the object is being deleted
|
||||
return false, nil
|
||||
}
|
||||
// Selector matches. Try to adopt.
|
||||
if err := adopt(obj); err != nil {
|
||||
// If the pod no longer exists, ignore the error.
|
||||
|
@ -155,6 +155,26 @@ func TestClaimPods(t *testing.T) {
|
||||
claimed: []*v1.Pod{newPod("pod1", productionLabel, &controller)},
|
||||
}
|
||||
}(),
|
||||
func() test {
|
||||
controller := v1.ReplicationController{}
|
||||
controller.UID = types.UID(controllerUID)
|
||||
podToDelete1 := newPod("pod1", productionLabel, &controller)
|
||||
podToDelete2 := newPod("pod2", productionLabel, nil)
|
||||
now := metav1.Now()
|
||||
podToDelete1.DeletionTimestamp = &now
|
||||
podToDelete2.DeletionTimestamp = &now
|
||||
|
||||
return test{
|
||||
name: "Controller does not claim orphaned pods marked for deletion",
|
||||
manager: NewPodControllerRefManager(&FakePodControl{},
|
||||
&controller,
|
||||
productionLabelSelector,
|
||||
controllerKind,
|
||||
func() error { return nil }),
|
||||
pods: []*v1.Pod{podToDelete1, podToDelete2},
|
||||
claimed: []*v1.Pod{podToDelete1},
|
||||
}
|
||||
}(),
|
||||
}
|
||||
for _, test := range tests {
|
||||
claimed, err := test.manager.ClaimPods(test.pods)
|
||||
|
Loading…
Reference in New Issue
Block a user