mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
e2epod: use foreground deletion
This is useful in case that the pod owns some resources, because then waiting for the pod ensures that those resources also were removed. This should not matter at the moment because pods typically are not owners of any other object, but that will change with the introduction of generic ephemeral inline volumes (https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1698-generic-ephemeral-volumes).
This commit is contained in:
parent
32fdf688b3
commit
af91e76df8
@ -48,7 +48,7 @@ func DeletePodOrFail(c clientset.Interface, ns, name string) {
|
||||
}
|
||||
|
||||
// DeletePodWithWait deletes the passed-in pod and waits for the pod to be terminated. Resilient to the pod
|
||||
// not existing.
|
||||
// not existing. Also waits for all owned resources to be deleted.
|
||||
func DeletePodWithWait(c clientset.Interface, pod *v1.Pod) error {
|
||||
if pod == nil {
|
||||
return nil
|
||||
@ -57,10 +57,17 @@ func DeletePodWithWait(c clientset.Interface, pod *v1.Pod) error {
|
||||
}
|
||||
|
||||
// DeletePodWithWaitByName deletes the named and namespaced pod and waits for the pod to be terminated. Resilient to the pod
|
||||
// not existing.
|
||||
// not existing. Also waits for all owned resources to be deleted.
|
||||
func DeletePodWithWaitByName(c clientset.Interface, podName, podNamespace string) error {
|
||||
e2elog.Logf("Deleting pod %q in namespace %q", podName, podNamespace)
|
||||
err := c.CoreV1().Pods(podNamespace).Delete(context.TODO(), podName, metav1.DeleteOptions{})
|
||||
deletionPolicy := metav1.DeletePropagationForeground
|
||||
err := c.CoreV1().Pods(podNamespace).Delete(context.TODO(), podName,
|
||||
metav1.DeleteOptions{
|
||||
// If the pod is the owner of some resources (like ephemeral inline volumes),
|
||||
// then we want to be sure that those are also gone before we return.
|
||||
// Blocking pod deletion via metav1.DeletePropagationForeground achieves that.
|
||||
PropagationPolicy: &deletionPolicy,
|
||||
})
|
||||
if err != nil {
|
||||
if apierrors.IsNotFound(err) {
|
||||
return nil // assume pod was already deleted
|
||||
|
Loading…
Reference in New Issue
Block a user